R 中的 gam 函数问题

Issue with gam function in R

我正在尝试拟合广义加性逻辑回归模型,但出现了一个奇怪的错误:

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() 的调用。此函数看不到您传递给 gam().

data= 参数

如果您查看 ?formula.gam 帮助页面,您会看到

The formulae supplied to gam are exactly like that supplied to glm except that smooth terms, s, te, ti and t2 can be added to the right hand side (and . is not supported in gam formulae).

您可以展开公式,然后通过标准 terms() 函数将其传递给 gam。例如

gam_object <- gam(terms(event ~ s(time) + ., data=lapse_train), 
    data = lapse_train, family = "binomial") 

您没有提供任何类型的 reproducible example,因此无法验证这是否适合您。