[R-es] predecir

Marcuzzi, Javier Rubén javier.ruben.marcuzzi en gmail.com
Mie Jul 11 21:49:54 CEST 2012


Estimado José Luis

Por partes:
1) Su código logra realizar predicciones, no preste mucha atención porque 
estoy cansado y me equivoco fácil, pero no informa el error que tenía. Así 
que soluciono ese parte de mis dudas.
2) Uso el -1 porque en el resultado puedo tener valores fáciles de comparar, 
al no tener la intercepción no tengo que ver diferencias entre valores, eso 
me complica un poco, aunque creo que el modelo no da el mismo valor en R 
cuadrado, etc.
3) Comprendo su duda respecto a los resultados, no se la respuesta, más 
tarde o mañana podré pensar en eso, en este momento no me da la cabeza.

Muchas gracias

Javier

-----Mensaje original----- 
From: Jose Luis Cañadas
Sent: Wednesday, July 11, 2012 3:41 PM
To: r-help-es en r-project.org
Subject: Re: [R-es] predecir

Hola.

No entiendo mucho de modelos mixtos pero creo que tu error es al definir
el modelo con

modelo <- lme(peso ~ sexo-1 +clima, random=~1|ano_nacimiento, dataset,
na.action="na.exclude")

Al quitarle el intercept al sexo.
Con este modelo funcionaría un nuevo data.frame que tenga tanto machos
como hembras

datos <-
data.frame(ano_nacimiento=c(2002,2000),sexo=c('hembra','macho'),clima=c('regular','malo'))
predict(modelo,datos)
   2002     2000
239.3431 310.8165
attr(,"label")
[1] "Predicted values"

Dejando el intercept en sexo

modelo <- lme(peso ~ sexo +clima, random=~1|ano_nacimiento, dataset,
na.action="na.exclude")
datos <-
data.frame(ano_nacimiento=2002,sexo='hembra',clima=c('bueno','malo'))
predict(modelo,datos)
   2002     2002
299.2495 257.7669
attr(,"label")
[1] "Predicted values"

Saludos


El 11/07/12 19:59, Marcuzzi, Javier Rubén escribió:
> Luciano, muchísimas gracias
>
> Pero cuándo yo cometo errores los realizo en forma secuencial, no voy a 
> equivocarme una sola vez. Utilicé su sugerencia, pero no entendí o hay 
> otro problema, copio la salida de R en algunos intentos fallidos.
>
> # predecir por ejemplo, ano_nacimiento 2002, sexo hembra (no está en los 
> datos), clima bueno y malo
>> predecir<- data.frame(ano_nacimiento=2002, clima=c('bueno','malo'), 
>> sexo='hembra')
>> predict(modelo, predecir, level=0:2)
> Error en `[.data.frame`(grps, , i) : undefined columns selected
>> # predecir por ejemplo, ano_nacimiento 2002, sexo hembra (no está en los 
>> datos), clima bueno y malo
>> predecir<- data.frame(ano_nacimiento=2002, clima=c('bueno','malo'), 
>> sexo='hembra')
>> predict(modelo, predecir, level=0:1)
> Error en conLin$Xy[, ZXstart[1]:ZXend[1], drop = FALSE] %*% lmeFit$beta :
>    argumentos no compatibles
>> # predecir por ejemplo, ano_nacimiento 2002, sexo hembra (no está en los 
>> datos), clima bueno y malo
>> predecir<- data.frame(ano_nacimiento=2002, clima=c('bueno','malo'), 
>> sexo='hembra')
>> predict(modelo, predecir, level=0)
> Error en X %*% fixef(object) : argumentos no compatibles
> From: Luciano Selzer
> Sent: Wednesday, July 11, 2012 2:42 PM
> To: Marcuzzi, Javier Rubén
> Cc: R-help-es en r-project.org
> Subject: Re: [R-es] predecir
>
> Hola Javier, te faltó poner el sexo dentro del nuevo data.frame
> Luciano
>
>
>
> El 11 de julio de 2012 14:07, Marcuzzi, Javier 
> Rubén<javier.ruben.marcuzzi en gmail.com>  escribió:
>
>    ano_nacimiento<- c(2000, 2000, 2001, 2001, 2001, 2001, 2002)
>    ano_nacimiento<- as.factor(ano_nacimiento)
>    sexo<- c('macho', 'hembra', 'macho', 'hembra', 'macho', 'hembra', 
> 'macho')
>    clima<- c('bueno', 'regular', 'malo','bueno', 'regular', 'malo', 
> 'bueno')
>    peso<- c(354, 251, 327, 328, 301, 270, 330)
>    dataset<- data.frame(ano_nacimiento, sexo, clima, peso)
>    library(nlme)
>    modelo<- lme(peso ~ sexo-1 +clima, random=~1|ano_nacimiento, dataset, 
> na.action="na.exclude")
>    summary(modelo)
>    modelo$coefficients$fixed
>    modelo$coefficients$random
>    f<-fitted(modelo)
>    r<-resid(modelo)
>    dataset2<- data.frame(ano_nacimiento, sexo, clima, peso, f, r)
>    dataset2
>    plot(modelo)
>    predict(modelo)
>    # predecir por ejemplo, ano_nacimiento 2002, sexo hembra (no está en 
> los datos), clima bueno y malo
>    predecir<- data.frame(ano_nacimiento=2002, clima=c('bueno','malo'))
>    predict(modelo, predecir, level=0:1)
>
> [[alternative HTML version deleted]]
>
>
>
> _______________________________________________
> R-help-es mailing list
> R-help-es en r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es

[[alternative HTML version deleted]]







_______________________________________________
R-help-es mailing list
R-help-es en r-project.org
https://stat.ethz.ch/mailman/listinfo/r-help-es



Más información sobre la lista de distribución R-help-es