R - Unir en un gráfico dos modelos nls

 
Vista:
sin imagen de perfil
Val: 2
Ha aumentado su posición en 3 puestos en R (en relación al último mes)
Gráfica de R

Unir en un gráfico dos modelos nls

Publicado por Carlos (1 intervención) el 12/05/2021 17:57:23
Hola.

Tengo dos bases de datos que valoran las veces que rumia una vaca con calor (Q1) y sin calor (Q4).

Genero el mismo modelo sinoidal:

mod.RumiQ1 <-nls(Rumination ~ a + b*sin(c*Hour-d)+e*cos(f*Hour-g),data=datosQ1,start=list(a =23.5, b = 6, c=3.1, d=9, e=-2.5, f=0.8,g=1))
co<-coef(mod.RumiQ1 )
co
#co
# a b c d e f g
#23.13338 -4.33017 0.33730 97.53357 -5.14952 0.50374 -1.82722

Y lo dibujo con :

1
2
3
4
5
ggplot(datosQ1, aes(x=Hour, y=Rumination))+
 # geom_point()+
 geom_smooth(method="nls", se=FALSE,
              method.args=list(formula=y~ a + b*sin(c*x-d)+e*cos(f*x-g),
                               start=c(a=23.13338,b= -4.33017,c=  0.33730,d= 97.53357,e= -5.14952,  f=0.50374, g= -1.82722 )) )


Ahora utilizo los datos Q4 :

mod.RumiQ4 <-nls(Rumination ~ a + b*sin(c*Hour-d)+e*cos(f*Hour-g),data=datosQ4,start=list(a =22, b = 5, c=3, d=9, e=-3.3, f=1,g=1.5))
co<-coef(mod.RumiQ4 )
co
# a b c d e f g
#22.03420 0.88497 1.89659 -11.66763 -3.35122 1.08926 3.51036

Y lo dibujo con:

1
2
3
4
5
6
ggplot(datosQ4,
aes(x=Hour, y=Rumination))+
 # geom_point()+
 geom_smooth(method="nls", se=FALSE,
              method.args=list(formula=y~ a + b*sin(c*x-d)+e*cos(f*x-g),
                               start=c(a=22.03,b= 0.88,c=  1.89,d= -11,e= -3,  f=1.00, g= 3.51)) )

Me gustaría tener las dos curvas en el mismo dibujo para poder comparar las gráficas

¿Cómo lo hago?

Gracias !!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder