在具有预测变量列表的数据帧上使用R的lm

jos*_*osh 14 r

我有一个数据框,让我们说N + 2列.第一个是日期(主要用于后面的绘图),第二个是一个变量,它对我想要计算的剩余N列的响应.我在想必须有类似的东西

df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
fit = lm(y~df[,2:3],data=df)
Run Code Online (Sandbox Code Playgroud)

这不起作用.我也试过并失败了

fit = lm(y~sapply(colnames(df)[2:3],as.name),data=df)

有什么想法吗?

Das*_*son 31

使用公式表示法y ~ .指定要对数据集中的所有其他变量进行回归.

df = data.frame(y = 1:10, x1 = runif(10), x2 = rnorm(10))
# fits a model using x1 and x2
fit <- lm(y ~ ., data = df) 
# Removes the column containing x1 so regression on x2 only
fit <- lm(y ~ ., data = df[, -2]) 
Run Code Online (Sandbox Code Playgroud)