如何将数据框列传递到列向量中以用于回归模型的RHS?

时间:2012-06-13 04:46:27

标签: r formula names

我在数据框Data1中有100列的列表。其中一个变量是因变量。其他人是预测者。

我需要将99个预测变量提取到一个列中(比如varlist),以便在下面的等式中使用

equation <- as.formula(paste('y', "~", paste(varlist, collapse="+"),collapse=""))

我可以在数据帧上使用dput来提取所有列,但我无法从列表中删除因变量y:

Varlist <- dput(names(Data1)) 

1 个答案:

答案 0 :(得分:7)

走另一条路是更合适的。如果要在响应变量之外的数据框中包含所有其他变量,则可以使用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)])