[英]R - Saving the values from a For loop in a vector or list
我試圖將這個 for 循環的每次迭代保存在一個向量中。
for (i in 1:177) { a <- geomean(er1$CW[1:i]) }
基本上,我有一個包含 177 個值的列表,我希望腳本能夠逐個查找列表的累積幾何平均值。 現在它只會給我最終值,它不會將每個循環迭代保存為列表或向量中的單獨值。
您的代碼不起作用的原因是對象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])
}
}
我開始了與@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)
可以嘗試先定義可以保存結果的變量
b <- c()
for (i in 1:177) {
a <- geomean(er1$CW[1:i])
b <- c(b,a)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.