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

Dee*_*Dee 2 r names formula

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

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

equation <- as.formula(paste('y', "~", paste(varlist, collapse="+"),collapse=""))
Run Code Online (Sandbox Code Playgroud)

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

Varlist <- dput(names(Data1)) 
Run Code Online (Sandbox Code Playgroud)

Das*_*son 7

走另一条路线会更合适.如果要在数据框中包含除响应变量之外的所有其他变量,则可以使用它y ~ .来指定.

fakedata <- as.data.frame(matrix(rnorm(100000), ncol = 100))
names(fakedata)[1] <- "y"

o <- lm(y ~ ., data = fakedata)
Run Code Online (Sandbox Code Playgroud)

这适合回归,使用fakedata中的99个其他列作为预测因子,将'y'作为响应并将其存储到'o'中


编辑:如果要排除某些变量,可以从数据集中排除这些变量.以下内容从第100列中删除第10列,在第2-9列上留下y的回归

o <- lm(y ~ ., data = fakedata[,-(10:100)])
Run Code Online (Sandbox Code Playgroud)