2017-07-06 84 views
0

R是新增功能,如何在R中执行回归而不列出变量名称,而是列号?我有很多的回归我想在一个循环估计,我试图做到这一点,r按列号调用数据帧变量

stepreg<-with(newdata, lm(OutputChg~Furrow)) 

而且我想通过其列#,而不是标题叫Furrow。这可能吗?与往常一样,任何帮助非常感谢,谢谢!

+0

线的东西取决于你实际上是在做什么?查看'lm.fit'并在给定变量传递给'lm.fit'之前创建你想要的模型矩阵。如果您要通过数据进行疏通,通常会发出警告不要这样做;如果你打算这么做,我假设你理解这些问题。根据您想要安装的列数/型号数量,您可以使用pkg包装来完成此操作。另外,不要用'with()'和公式建模。使用'data'参数来代替它:'stepreg < - lm(OutputChg〜Furrow,data = newdata)'。 –

回答

1

您可以构建一个公式每个循环内,并且在回归使用它,沿着

allnames <- names(iris)[-5] # find names to which you wish to regress 

for (name in allnames) { 
    myformula <- formula(sprintf("%s ~ Species", name)) 
    print(summary(lm(myformula, data = iris))) 
}