我想创建一个包含两个变量i,j
的循环。对于每个i等于1:24,j可以是1:24
但我不知道要做这个循环;
i=1
while(i<=24)
{
j=seq(1,24,by=1)
for (j in j)
{
cor[i,j]
}
}
i=i+1
这是对的吗?我的输出是cor[i,j]
。
答案 0 :(得分:2)
为了实现你的最终目标,试试......
cor(myMatrix)
结果是一个矩阵,其中包含myMatrix中所有列的所有相关性。
如果您想尝试按照自己的方式进行操作,最好使用combn
生成包含所有项目组合的矩阵。尝试组合(1:4,2)并查看一个小例子的样子。对于24列的示例,使用for循环遍历所有组合的最佳方法是...
myMatrix <- matrix(rnorm(240), ncol = 24)
myIndex <- combn(1:24,2)
for(i in ncol(myIndex)){
temp <- cor(myMatrix[,myIndex[1,i]],myMatrix[,myIndex[2,i]])
print(c(myIndex[,i],temp))
}
所以,可以在R中使用for
循环来实现它,你永远不会这样做。
(而这整个答案是基于对你实际想要完成的事情的疯狂猜测,因为问题和你的评论很难弄明白)