我在数据框 Data1 中有一个 100 列的列表。这些变量之一是因变量。其他都是预测者。
我需要将 99 个预测变量提取到一列(例如varlist
)中以用于下面的等式
equation <- as.formula(paste('y', "~", paste(varlist, collapse="+"),collapse=""))
我可以dput
在数据框上使用来提取所有列,但我无法从列表中删除因变量 y:
Varlist <- dput(names(Data1))
走不同的路线会更合适。如果您想在数据框中包含除响应变量之外的所有其他变量,您可以使用它y ~ .
来指定它。
fakedata <- as.data.frame(matrix(rnorm(100000), ncol = 100))
names(fakedata)[1] <- "y"
o <- lm(y ~ ., data = fakedata)
这使用 fakedata 中的 99 个其他列作为预测变量和“y”作为响应来拟合回归并将其存储到“o”中
编辑:如果要排除某些变量,可以从数据集中排除这些变量。下面从第 100 列删除第 10 列,在第 2-9 列留下 y 回归
o <- lm(y ~ ., data = fakedata[,-(10:100)])