0

途中の for ループからすべてのデータを保存するのに苦労しています。外側のforループが実行された後にデータを取得しようとすると、取得できる唯一のデータは最終実行です。D のすべての実行を 1 つの行列に格納するにはどうすればよいですか?

set.seed(3690)

iterations <- 20
mean_birthrate <- 0.4
stand_dev_birthrate <- 0.1
mean_survival_rate <- 0.68
stand_dev_survival <- 0.07
initial_population <- 100
period <- 20
End_Year <- 2013+period

birthrate <- rnorm(n=1,mean=mean_birthrate,sd=stand_dev_birthrate)
birthrate
survival <- rnorm(n=1,mean=mean_survival_rate,sd=stand_dev_survival)
survival

 growth_rate <- birthrate - (1-survival)
 growth_rate


 for (k in 1:50) {
 D <- numeric(period)
 D[1] <- initial_population

 for (i in 1:period) {
  D[i+1] <- D[i] + ((rnorm(n=1,mean=mean_birthrate,sd=stand_dev_birthrate) -  (1-rnorm(n=1,mean=mean_survival_rate,sd=stand_dev_survival))) * D[i]) 
  }

 print(D)

 if (k==1)
 plot(D, typ="l",ylab="Number of Bobcats",xlab="Year",ylim=c(50,1700),xaxt='n')
 if (k>1)
 lines(D,col = rgb(0,0,0,0.1),xaxt='n')
}
4

2 に答える 2