[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