R:将解释变量的动态数拟合成多项式回归

时间:2014-11-21 17:56:01

标签: r

假设在运行时给了我一个数据框df,我如何使用多项式回归拟合多项式模型,每个预测器是一个来自df的列,并且具有一个常数k> = 2 < / p>

困难在于,'df'在运行时被读取,因此在编写脚本时,其列的数量和名称是未知的。(但我知道响应变量是第1列)所以当我调用{{1我不知道怎么写lm

如果k = 1,那么我可以简单地写一个通用的线性公式

formula

我能为多项式公式做些什么吗?

1 个答案:

答案 0 :(得分:5)

一种相当复杂的方法是通过将条款粘贴在一起来为formula回归调用创建lm

# some data
dat <- data.frame(replicate(10, rnorm(20)))

# Create formula - apply f function to all columns names excluding the first
form <- formula(paste(names(dat)[1], " ~ ",
                  paste0("poly(", names(dat)[-1], ", 2)", collapse="+")))
# run regression
lm(form , data=dat)