如果所有变量都被系统命名,您可以粘贴公式:
form <- as.formula(paste("y~", paste0("poly(var", 1:10, ")", collapse="+")))
或(对于三阶多项式):
form <- as.formula(paste("y~", paste0("poly(var", 1:10, ", degree=3)", collapse="+")))
另外,如果只有因变量y
以及数据集中感兴趣的协变量(具有非系统名称)df
, 你可以试试
ind.y <- grep("y", colnames(df))
form <- as.formula(paste("y~", paste0("poly(", colnames(df[, -ind.y]), ", degree=3)", collapse="+")))