J'ai un modèle gamlss que je voudrais utiliser pour faire de nouvelles prédictions y (et intervalles de confiance) afin de visualiser à quel point le modèle correspond aux données réelles. Je voudrais faire des prédictions à partir d'un nouvel ensemble de données de prédicteurs aléatoires (plutôt que les données d'origine), mais je cours dans un message d'erreur. Voici quelques exemples de code:Erreur lors de la prédiction de nouvelles valeurs ajustées à partir de l'objet R gamlss
library(gamlss)
# example data
irr <- c(0,0,0,0,0,0.93,1.4,1.4,2.3,1.5)
lite <- c(0,1,2,2.5)
blck <- 1:8
raw <- data.frame(
css =abs(rnorm(500, mean=0.5, sd=0.1)),
nit =abs(rnorm(500, mean=0.72, sd=0.5)),
irr =sample(irr, 500, replace=TRUE),
lit =sample(lite, 500, replace=TRUE),
block =factor(sample(blck, 500, replace=TRUE))
)
# the model
mod <- gamlss(css~nit + irr + lit + random(block),
sigma.fo=~irr*nit + random(block), data=raw, family=BE)
# new data (predictors) for making css predictions
pred <- data.frame(
nit =abs(rnorm(500, mean=0.72, sd=0.5)),
irr =sample(irr, 500, replace=TRUE),
lit =sample(lite, 500, replace=TRUE),
block =factor(sample(blck, 500, replace=TRUE))
)
# make predictions
predmu <- predict(mod, newdata=pred, what="mu", type="response")
Cela donne l'erreur suivante:
Error in data[match(names(newdata), names(data))] :
object of type 'closure' is not subsettable
Quand je lance ceci sur mes données réelles, il donne cette erreur légèrement différente:
Error in `[.data.frame`(data, match(names(newdata), names(data))) :
undefined columns selected
Quand je utiliser predict
sans newdata
, cela fonctionne bien faire des prédictions sur les données d'origine, comme dans:
predmu <- predict(mod, what="mu", type="response")
Est-ce que j'utilise prévoir mal? Toutes les suggestions sont grandement appréciées! Je vous remercie.
Bummer! Eh bien, merci pour la vérification et l'info, @Hedgehog! J'ai depuis déplacé ce modèle dans lmer(), qui a fonctionné pour cela. Mais il serait utile de faire cela pour gamlss. – BonnieM