我正在尝试使用代码:
来拟合具有二元响应的广义加法模型library(mgcv)
m = gam(y~s(x1)+s(x2), family=multinom(K=2), data=mydata)
以下是我的部分数据(总样本量为443):
mydata[1:3,]
y x1 x2
1 1 12.55127 0.2553079
2 1 12.52029 0.2264185
3 0 12.53868 0.2183521
但是我收到了这个错误:
Error in offset[[i]] : attempt to select less than one element
我的代码出了什么问题?
答案 0 :(得分:4)
首先,对于二进制响应,为什么不使用family = binomial()
?
其次,如果您要测试multinom
,请设置K = 1
,因为类别的编号为从0 到K
。见?multinom
。 但是,您需要传递multinom
家庭的模型公式列表。即使K = 1
,您也需要长度为1的列表。使用list(y ~ s(x1) + s(x2))
。