Estimados Usuarios de R mi nombre es Gustavo Giménez soy un adepto neófito en el uso de R, estoy trabajando en curvas de crecimiento de frutos de peral, ajustando modelos no lineales, específicamente modelos logísticos de tercera parametrización. Inicialmente, la estimación de los parámetros los realizaba mediante el método de mínimos cuadrados(trabajando con la función nls del paquete stats), y luego obtenía la primer derivada de la función (función deriv en R) ya que la tasa de crecimiento era de mi interés como así también la segunda derivada. Además de calcular la bondad del ajuste mediante R^2( que si bien no es del todo adecuado para los modelos no lineales lo exigen al momento de publicar),criterios de Akaike y Bayesiano y medidas de no linealidad (función rms.curv del paquete MASS). Dado que las mediciones sobre los frutos se realizan en los mismos frutos marcados a lo largo de todo el ciclo de crecimiento se evidencia la dependencia de los datos( medidas repetidas o datos longitudinales) y la utilización de modelos no lineales mixtos capaces de modelar dicha correlación. *Mi consulta es*: el paquete a utilizar es nlme? existen otros paquetes? la función a utilizar dentro de mencionado paquete es nlme? *(continuando con la consulta y aprovechando un ejemplo de R muy semejante a mi caso)* Teniendo en cuenta el ejemplo de crecimiento de pinos Loblolly (un marco de datos con tres columnas, la primera denominada Height posee la altura de los pinos en pies (FT), la segunda columna Age, edad de los pinos en años (Years) y por último la columna Seed, que agrupa a los pinos de acuerdo a la fuente de semillas), que proporciona el paquete datasets y utilizando la función nlme del paquete homónimo . Aleatorizando la asíntota superior, las salidas son:> fm1 <- nlme (height ~ SSasymp(age, Asym, R0, lrc),+ data=Loblolly, + fixed =Asym + R0 + lrc ~1, + random = Asym ~ 1, + start = c(Asym= 103, R0 = -8.5, lrc = -3.3))> summary(fm1)Nonlinear mixed-effects model fit by maximum likelihood Model: height ~ SSasymp(age, Asym, R0, lrc) Data: Loblolly AIC BIC logLik 239.4856 251.6397 -114.7428 *Random effects:* Formula: Asym ~ 1 | Seed Asym Residual StdDev: 3.650642 0.7188625 Fixed effects: Asym + R0 + lrc ~ 1 Value Std.Error DF t-value p-value Asym 101.44960 2.4616951 68 41.21128 0 R0 -8.62733 0.3179505 68 -27.13420 0 lrc -3.23375 0.0342702 68 -94.36052 0 Correlation: Asym R0 R0 0.704 lrc -0.908 -0.827 Standardized Within-Group Residuals: Min Q1 Med Q3 Max -2.23601930 -0.62380854 0.05917466 0.65727206 1.95794425 Number of Observations: 84 mi consulta es como extraer las matrices de correlación del individuo entre sí (dado que la matriz de la salida es una matriz de correlación de parámetros)? como extraer las matrices de varianza covarianza del error? para comparar entre distintos modelos: ¿existe alguna función en R para realizar el test de razón de verosimilitud? Desde ya agradezco a la comunidad hispanohablante toda contribución respecto de mi consulta. Y espero haber sido lo suficientemente claro. Mis más cordiales saludos -- Ing. Agr. Gustavo Giménez Becario de Perfeccionamiento en Investigación Facultad de Ciencias Agrarias U.N.Co. [[alternative HTML version deleted]]
Buenas noches Gustavo, 2009/7/12 Ing. Agr. Gustavo Giménez <>> Estimados Usuarios de R > mi nombre es Gustavo Giménez soy un > adepto neófito en el uso de R, estoy trabajando en curvas de crecimiento > de > frutos de peral, ajustando modelos no lineales, específicamente modelos > logísticos de tercera parametrización. Inicialmente, la estimación de los > parámetros los realizaba mediante el método de mínimos > cuadrados(trabajando > con la función nls del paquete stats), y luego obtenía la primer derivada > de > la función (función deriv en R) ya que la tasa de crecimiento era de mi > interés como así también la segunda derivada. Además de calcular la bondad > del ajuste mediante R^2( que si bien no es del todo adecuado para los > modelos no lineales lo exigen al momento de publicar),criterios de Akaike y > Bayesiano y medidas de no linealidad (función rms.curv del paquete MASS). > Dado que las mediciones sobre los > frutos se realizan en los mismos frutos marcados a lo largo de todo el > ciclo > de crecimiento se evidencia la dependencia de los datos( medidas repetidas > o > datos longitudinales) y la utilización de modelos no lineales mixtos > capaces > de modelar dicha correlación. *Mi consulta es*: > > el paquete a utilizar es nlme?Para lo que describes, si.> existen otros paquetes?Entre otros: http://cran.r-project.org/web/packages/glmmAK/index.html http://cran.r-project.org/web/packages/lme4/index.html http://cran.r-project.org/web/packages/nlmeODE/index.html http://cran.r-project.org/web/packages/PSM/index.html Otra posibilidad es usar regresión cuantil para datos longitudinales (libreria quantreg), pero no estoy seguro de si esta permite ajustar modelos mixtos. Una pequeña búsqueda establece que si: http://portal.acm.org/citation.cfm?id=1032098 :-)> la función a utilizar dentro de mencionado paquete es nlme?Sólo si tu objetivo es hacer modelos mixtos no lineales y decides usar la libreria nlme :-)> > > *(continuando con la consulta y aprovechando un ejemplo de R muy semejante > a > mi caso)* > > Teniendo en cuenta el ejemplo de crecimiento de pinos Loblolly (un marco de > datos con tres columnas, la primera denominada Height posee la altura de > los > pinos en pies (FT), la segunda columna Age, edad de los pinos en años > (Years) y por último la columna Seed, que agrupa a los pinos de acuerdo a > la > fuente de semillas), que proporciona el paquete datasets y utilizando la > función nlme del paquete homónimo . Aleatorizando la asíntota superior, las > salidas son: >[Ejemplo omitido] mi consulta es como extraer las matrices de correlación del individuo entre> sí (dado que la matriz de la salida es una matriz de correlación de > parámetros)? como extraer las matrices de varianza covarianza del error?Recuerda que la estructura de cualquier objeto en R puede obtenerse via str(tuobjetoaqui). En tu ejemplo, str(fm1) sería más que suficiente. Otra opción es utilizar names() despues de usar el summary() de tu modelo: names(summary(fm1)) para obtener el nombre de las componentes que se encuentran en fm1 y luego extraerlas via el operador $. Esta es una posibilidad: # Correlación de los efectos fijos summary(fm1)$corFixed # La varianza summary(fm1)$varFix> > > para comparar entre distintos modelos: ¿existe alguna función en R para > realizar el test de razón de verosimilitud?Si. Esto puede realizarse a través de la función anova() que realiza la prueba LRT <http://en.wikipedia.org/wiki/Likelihood-ratio_test> <http://en.wikipedia.org/wiki/Likelihood-ratio_test> anova(modelo1, modelo2) Si mal no recuerdo, ambos modelos deben ser ajustados via MLE.> > > Desde ya agradezco a la comunidad hispanohablante toda contribución > respecto > de mi consulta. Y espero haber sido lo suficientemente claro.Si, si fuiste lo suficientemente claro. Y el ejemplo AYUDO MUCHISIMO! :-) Espero sea de utilidad, Jorge Ivan Velez> > > Mis más cordiales saludos > -- > Ing. Agr. Gustavo Giménez > Becario de Perfeccionamiento en Investigación > Facultad de Ciencias Agrarias > U.N.Co. > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]