在内部循环 r 中存储数据

Storing data in inner loop r

我在存储内部循环的数据时遇到问题。此处描述的问题已简化,不会太具体。

我有一个包含 2 年的数据库 (df)。我把那 2 年 a <- split(df,df$year) 分开了。我现在需要每月计算一次。因此我使用了一个新的循环。为了存储我的结果,我使用了 excRet <- rep (0,24)。循环有效,但我只能看到最后的输出。内部循环覆盖第一个结果。我确信有更好的方法来存储我的数据。不幸的是,我对 R 和一般编程还很陌生。

for (i in 1:2) {
  year <- a[[`i`]]
 
  #split the year into 12 months
  spm <- split(year, year$Month)
  
  for (j in 1:12) {
    b <- spm[[`j`]]

    exrt <- mean(b$excessReturn)
    excRet [j] <- exrt

    j = j + 1
  }
  
  i= i+1

}

(仅从月份计算是不可能的,因为内部循环中有更多的选择标准。我将这些排除在外是为了不使问题过于复杂。循环工作正常,存储来自内部循环的数据是问题)

Waru,没有可重现的例子有点难。这是一个使用 mtcars 的简单示例,展示了如何循环跨越两个不同的索引。如果这不合适,请尝试将 dput 与您的实际数据样本一起使用。

outer<- NULL

for( i in 1:5){
  inner <- NULL
  
  for( j in 1:5){
    
  a <- mean( mtcars[ i, j  ])  
   
  inner <- cbind( inner , a ) 
    
  }
  
  outer <- rbind( outer , inner)
  
}


print( outer )