0
如何在mgcv::gam
中預測何時適合可能含有隨機效應的模型?你是如何預測gam?帶有可重複的示例
本網站上的 「排除」 招另一個線程不適合我(https://stats.stackexchange.com/questions/131106/predicting-with-random-effects-in-mgcv-gam)
ya <- rnorm(100, 0, 1)
yb <- rnorm(100,0,1.5)
yc <- rnorm(100, 0, 2)
yd <- rnorm(100, 0, 2.5)
yy <- c(ya,yb,yc,yd) #so, now we've got data from 4 different groups.
xx <- c(rep("a", 100), rep("b",100), rep("c",100),rep("d",100)) #groups
zz <- rnorm(400,0,1) #some other covariate
model <- gam(yy ~ zz + s(xx, bs = "re")) #the model
predictdata <- data.frame(zz = 5) #new data
predict(model, newdata = predictdata, exclude = "s(xx)") #prediction
工作,這將產生錯誤
Error in model.frame.default(ff, data = newdata, na.action = na.act) :
variable lengths differ (found for 'xx')
In addition: Warning messages:
1: In predict.gam(model, newdata = predictdata, exclude = "s(xx)") :
not all required variables have been supplied in newdata!
2: 'newdata' had 1 row but variables found have 400 rows
我mgcv包最新的。
編輯:
如果更改predictdata到
predictdata <- data.frame(zz = 5, xx = "f")
然後它說
Error in predict.gam(model, newdata = predictdata, exclude = "s(xx)") :
f not in original fit