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