【发布时间】:2019-06-27 04:44:32
【问题描述】:
我正在尝试计算 25 年来我在数据框中拥有的每个“场景”(0 到 9)的出现次数。 基本上,我有 10000 个名为 0 到 9 的场景模拟,每个场景都有发生的概率。
我的数据框太大,无法在此处粘贴,但这里是预览:
simulation=as.data.frame(replicate(10000,sample(c(0:9),size=25,replace=TRUE,prob=prob)))
simulation2=transpose(simulation)
注意** prob 是一个向量,带有观察每个场景的概率
v1 v2 v3 v4 v5 v6 ... v25
1 0 0 4 0 2 0 9
2 1 0 0 2 3 0 6
3 0 4 6 2 0 0 0
4
...
10000
这是我迄今为止尝试过的:
for (i in c(1:25)){
for (j in c(0:9)){
f=sum(simulation2[,i]==j);
vect_f=c(vect_f,f)
}
vect_f=as.data.frame(vect_f)
}
如果我省略“for (i in c(1:25))”,这将返回所需输出的右第一列。现在我试图在 25 年内复制这一点。当我输入第二个“for”时,我没有得到想要的输出。
输出应该是这样的:
(Year) 1 2 3 4 5 6 ... 25
(Scenario)
0 649
1 239
...
9 11
649 是第一年在我的 10 000 次模拟中观察到“场景 0”的次数。
感谢您的帮助
【问题讨论】: