簡體   English   中英

在 R 中輸出和保存嵌套循環的結果

[英]Output and save results of a nested loop in R

我正在使用下面的腳本來循環數據w三次,當我使用打印來顯示它們時,它會輸出三個結果。 我試圖將結果輸出到指定的變量my_vector(j)但只顯示最后一次迭代結果。 如何將每次迭代的結果保存在數組中?

DU<-c(70,85,95)
a<-1-sqrt(3)*((100-DU)/130)
     
my_vector = c()
w<-c(0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5)
w_i<-1/w
for (i in 1:length(DU)){
  for (j in 1:length(w)){
   if (w_i[j] > 2-a[i]) {
       E[j]<-1
    } else if (w_i[j]<2-a[i]) {
       E[j]<-((a[i]*w[j]+1)^2-4*w[j])/(4*(a[i]-1)*w[j]^2)
    } else {
       E[j]=w_i[j]
    }
    my_vector[j]<-(E[j])
    print(E[j])
  }
  my_vector[j]<-(E[j])
 }

因為當你調用my_vector[j]<-(E[j])j只取 1 和length(w)之間的值,所以對於循環的每次迭代i你重寫一切(每次你改變i的值時j重新開始到 1)。

替換為:

my_vector[j + length(w)*(i-1)]<-(E[j])

另外,我認為您應該刪除最后一行

my_vector[j]<-(E[j])

因為它在j的循環之外(或者至少我不明白它為什么在這里)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM