假设我的数据集包含y
和x1
,x2
,xp
个变量。
我想用样条拟合所有预测变量。
例如:
gam_object = gam(y ~ s(x1) + s(x2) + s(xp), data)
如何在不键入每个变量的情况下执行此操作?如果我想在不使用样条线的情况下安装前两个模块。我怎样才能做到这一点?
gam_object2 = gam(y ~ x1 + x2 + s(x1) + s(x2), data)
答案 0 :(得分:4)
也许这可以帮到你:
p<-10
as.formula(paste0("y~",paste0("s(x",1:p,")",collapse="+")))
如果您不想使用前两个或更多通常不使用某些特定变量的样条线,请使用:
data<- #yours data
use<-c(3:6,9:10)
dontuse<-c(1:2,7:8)
form<-as.formula(
paste0("y~",paste0("s(x",use,")",collapse="+"),"+",paste0("x",dontuse,collapse="+"),collapse=""))
然后运行模型:
gam(data=data,formula=form,family=gaussian)