在for循环中迭代

时间:2013-03-27 13:35:08

标签: r for-loop iteration

这是我目前的代码

dat= data.frame(a=1:10,b=1:10,c=1:10,d=1:10,e=1:10)
for (i in 1:ncol(dat)) {
    print(interaction(##...what to write here?*...##))}

我的for循环应该做以下事情

第一次迭代:

 interaction(dat[,1],dat[,2])

第二次迭代:

interaction(dat[,1],dat[,2],dat[,3])

第三次迭代

interaction(dat[,1],dat[,2],dat[,3],dat[,4])

等...

我真的不介意这个函数是interaction还是sum还是其他什么。这是第一个循环的简单原理。我和aov(what to write here?)有同样的麻烦,但我发现了允许我根据i(=迭代对象)编写公式的公式类型的对象。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,这将让你开始...... 在for loop

for (i in 2:ncol(dat)) {
  interaction(dat[,1:i])
}

您还可以使用apply系列中的一个:

lapply(2:ncol(dat), 
       function(x) interaction(dat[,1:x]))

但实际上,最好的答案取决于您计划如何使用这些。