0

这是我当前的代码

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])

ETC...

我真的不介意这个功能是interaction还是sum什么。这是第一个循环的简单原理。我在使用 aov( what to write here?) 时遇到了同样的问题,但我发现了对象的公式类型,它允许我根据 i( = 迭代对象) 编写公式。

谢谢你。

4

1 回答 1

0

如果我正确理解您的问题,这将使您开始......在for loop

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

您也可以使用以下apply系列之一:

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

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

于 2013-03-27T14:14:46.077 回答