Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中存储嵌套循环的结果_R_Loops_Nested Loops - Fatal编程技术网

如何在R中存储嵌套循环的结果

如何在R中存储嵌套循环的结果,r,loops,nested-loops,R,Loops,Nested Loops,我刚开始使用r,我需要一些帮助。 我有一个名为“价格数据”(xts)的数据框,它由28只股票(作为行)和不同日期的价格组成。 我想应用下面的公式(求股票价格的平方差之和)并存储结果,结果应该是28*28=784。我试图将它们存储在一个向量中,但给了我零 storage<-vector("numeric",784) for (i in 1:784){ for(j in 1:28){ for (k in 1:28){ storage[i]<-s

我刚开始使用r,我需要一些帮助。 我有一个名为“价格数据”(xts)的数据框,它由28只股票(作为行)和不同日期的价格组成。 我想应用下面的公式(求股票价格的平方差之和)并存储结果,结果应该是28*28=784。我试图将它们存储在一个向量中,但给了我零

storage<-vector("numeric",784)
for (i in 1:784){
  for(j in 1:28){
    for (k in 1:28){
      storage[i]<-sum(((pricedata[,j]-pricedata[,k])^2))
    }
  }
}

存储典型的R方法是使用
apply
函数系列。这里有一个建议:

创建一个排列表。

loopindex <- expand.grid(j = 1:28, k = 1:28)
list.storage <-apply(loopindex , 1, function(x) {
                           sum(pricedata[, x[["j"]]] - pricedata[, x[["k"]]]) ^ 2 })

loopindex请使用
dput
添加数据,并显示相同的预期输出。阅读并了解如何给出建议。
df<-do.call("rbind", list.storage)