我正在尝试拟合广义加性逻辑回归模型,但出现了一个奇怪的错误:
gam_object = gam(event ~ s(time) + ., data = lapse_train, family = "binomial")
Error in terms.formula(gf, specials = c("s", "te", "ti", "t2")) : '.' in formula and no 'data' argument
为什么它会告诉我这里没有数据参数,而显然有?
我正在尝试拟合广义加性逻辑回归模型,但出现了一个奇怪的错误:
gam_object = gam(event ~ s(time) + ., data = lapse_train, family = "binomial")
Error in terms.formula(gf, specials = c("s", "te", "ti", "t2")) : '.' in formula and no 'data' argument
为什么它会告诉我这里没有数据参数,而显然有?
请注意,错误消息来自terms.formula()
函数内部调用的调用。此函数看不到data=
您传递给的参数gam()
。
如果您查看?formula.gam
帮助页面,您会看到
提供给 gam 的公式与提供给 glm 的公式完全相同,只是可以将平滑项 s、te、ti 和 t2 添加到右侧(并且 . 在 gam 公式中不受支持)。
gam
您可以在通过标准terms()
函数将公式传递给之前扩展公式。例如
gam_object <- gam(terms(event ~ s(time) + ., data=lapse_train),
data = lapse_train, family = "binomial")
您没有提供任何可重现的示例,因此无法验证这是否适合您。