我在数据框 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”中
编辑:如果您想排除一些变量,您可以从数据集中排除这些变量。以下删除第 10 列到第 100 列,在第 2-9 列上留下 y 的回归
o <- lm(y ~ ., data = fakedata[,-(10:100)])
关于r - 如何将数据框列传递到列向量中以用于回归模型的 RHS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008333/