【发布时间】:2019-02-15 09:53:27
【问题描述】:
我有一个数据集
auto <- read.csv("http://www-bcf.usc.edu/~gareth/ISL/Auto.csv")
我试图在其中寻找任何重要的交互术语。我想要只包含单个交互及其构成项的回归(即圆柱体 + 加速度 + 圆柱体:加速度是我要检查的一种回归)。
到目前为止,使用其他 Stackoverflow 问题,我已经能够想出这个:
results <- NULL
vars=colnames(auto)[-c(1,9)]
for(i in vars){
for(j in vars){
if(i ! = j){
factor=paste(i,j,sep='*')}
for(k in 1:20){
results[[k]]<-summary(lm(paste("mpg~", factor), data=auto)))
}}}
但是,这会不断生成一个列表,其中仅存储最后一次交互(即起源*年份的系数)。如果代码不仅具有唯一值,而且还具有术语的平方版本,我也可以。但是,由于其中两个(列表中的最后两个,原产地和年份)不值得平方,并且由于我不知道如何为 i 和 j 设置不同的长度并使其起作用,因此我将其省略了.
我应该怎么做才能从这个循环中得到我想要的结果?我应该以不同的方式去做吗?我还尝试创建所有交互,然后将其附加到数据框并通过它运行一个循环,但它似乎没有任何效率/可能。
【问题讨论】:
标签: r loops regression interaction