R - 将 For 循环中的值保存在向量或列表中

Joe*_*Joe 3 for-loop r vector

我试图将这个 for 循环的每次迭代保存在一个向量中。

for (i in 1:177) { a <- geomean(er1$CW[1:i]) }

基本上,我有一个包含 177 个值的列表,我希望脚本能够逐个查找列表的累积几何平均值。现在它只会给我最终值,它不会将每个循环迭代保存为列表或向量中的单独值。

nik*_*iko 8

您的代码不起作用的原因是该对象a在每次迭代中都被覆盖。例如,以下代码完全符合您的要求:

    a <- c()
    for(i in 1:177){
      a[i] <- geomean(er1$CW[1:i])
    }
Run Code Online (Sandbox Code Playgroud)

或者,这也可以:

    for(i in 1:177){
      if(i != 1){
      a <- rbind(a, geomean(er1$CW[1:i]))
      }
      if(i == 1){
        a <- geomean(er1$CW[1:i])
      }
    }
Run Code Online (Sandbox Code Playgroud)