我正在尝试在向量中保存此for循环的每次迭代。
for (i in 1:177) {
a <- geomean(er1$CW[1:i])
}
基本上,我有177个值的列表,我希望脚本能够逐个查找列表的累积几何平均值。现在它只给我最终值,它不会将每个循环迭代保存为列表或向量中的单独值。
答案 0 :(得分:3)
您的代码不起作用的原因是每次迭代都会覆盖对象a
。例如,以下代码正是您所希望的:
a <- c()
for(i in 1:177){
a[i] <- geomean(er1$CW[1:i])
}
或者,这也可行:
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])
}
}
答案 1 :(得分:0)
我和@nate_edwinton一起开始了与rbind类似的路径,但无法理解。然而,我确实提出了一些有效的方法。嗯,geo_mean。凉。强制回到清单。
MyNums <- data.frame(x=(1:177))
a <- data.frame(x=integer())
for(i in 1:177){
a[i,1] <- geomean(MyNums$x[1:i])
}
a<-as.list(a)
答案 2 :(得分:0)
您可以尝试定义可以先保存结果的变量
b <- c()
for (i in 1:177) {
a <- geomean(er1$CW[1:i])
b <- c(b,a)
}