【发布时间】:2019-12-12 21:06:47
【问题描述】:
我目前正在执行下面的模拟。我做过一次,希望能重复 100 次。但是,在 100 次模拟中,我得到了相同的结果。我很难知道 for 循环结果的存储位置或方式。我是 R 中的一个大人物,所以完全不知道我下面的代码有什么问题。
#### Repeating the simulation for 100 times
nsims= 100
incomes_priv = matrix(NA, 36, nsims)# store priv income results
incomes_pub=matrix(NA,36, nsims)#to store pub income results
savings_priv= matrix(NA, 36, nsims)#to store savings from priv
savings_public=matrix(NA,36 ,nsims)#to store savings from pub
set.seed(500)
for (j in 1:nsims){{
print(j)
for(i in 1:36){incomes_pub100= rnorm(36 ,29200, 10000)
income_priv100=rnorm(36,25500, 17000)
saved_pub100=prop.saved *income_pub100
saved_pri100=prop.saved *income_priv100}
incomes_pri <- incomes_priv100
incomes_pub<- income_pub100
savings_priv <- saved_pri100
savings_pub<- saved_pub100
}
【问题讨论】:
-
我明白你想要做什么,但你为什么要这样做?
-
我认为有一种更简单的方法可以做到这一点,但您的最终目标是什么?您或许可以简化整个流程
-
在循环之前也不会调用
prop.saved -
也是为了回答你的问题,结果存储在
incomes_pri、incomes_pub、savings_priv和savings_pub中,但是它是将原始矩阵覆盖到向量中跨度>
标签: r simulation