我试图在" gam“包中对gam函数使用预测命令。我发现,当我有两个或两个以上的样条,我不能预测到一个新的样本,即使新的样本是原始数据或原始数据的子集。下面代码中的最后两行给出了一个错误。
编辑: gam.data是gam包附带的数据集,并在gam和predict.gam的示例中使用。它是一个列的data.frame : x,y,z,f,probf,ybin和ybin 2 --都是数字。-
require(gam)
data(gam.data)
Gam.object <- gam(y ~ s(x,z,df=6)+s(f,probf,df=6),data=gam.data)
summary(Gam.object)
predict(Gam.object)
predict(Gam.object,newdata=gam.data)
predict(Gam.object,newdata=gam.data[1:20,])预测(Gam.object,newdata=gam.data)
GAM.s中的错误(数据[“s(f,probf,df = 6)"],z,w,spar = probf,df = 6,:object 'probf‘找不到
预测(Gam.object,newdata=gam.data1:20,)
GAM.s中的错误(数据[“s(f,probf,df = 6)"],z,w,spar = probf,df = 6,:object 'probf‘找不到
发布于 2018-03-13 20:19:58
答案似乎是缺少对terms=命令中的“响应”(或其他一些术语调用)的调用。
以下内容如下:
data(gam.data)
Gam.object <- gam(y ~ s(x,z,df=6)+s(f,probf,df=6),data=gam.data)
summary(Gam.object)
predict(Gam.object)
predict(Gam.object,newdata=gam.data,terms="response")
predict(Gam.object,newdata=gam.data[1:20,],terms="response")https://stackoverflow.com/questions/49264826
复制相似问题