多个for()循环和if()语句

时间:2012-09-27 15:08:12

标签: r if-statement for-loop

我需要两个for循环。像这样:

for (i in seq_along(dat1)[25:30]) 
    for(j in seq_along(dat1)[2:7]) {
        print(summary(r <- lm(dat1[,j] ~ dat1[,i]+Jan+Nov, data=dat1)))
}

现在我想调整输出,我只得到对角线而不是所有可能的排列,所以i的第一个和j的第一个。我该怎么做?

我尝试了if语句,但if (i==j)不起作用,我不知道如何正确指定它。

1 个答案:

答案 0 :(得分:0)

您可以尝试if ((i-23) == j)。但是以下命令可能更容易:

mapply(25:30, 2:7, function(i, j)
                             summary(lm(dat1[,j] ~ dat1[,i]+Jan+Nov, data=dat1)))

这将避免您不感兴趣的排列。