【发布时间】:2013-12-16 17:35:23
【问题描述】:
根据@agstudy 编辑这篇文章以进行简化
我正在尝试开发一个使用随机均匀分布来模拟聚合物的模型。
模型有两种状态
状态 1(如果在状态 2 中,状态 1 的概率为 0.003): 增长概率,A = .01 收缩概率,B = .0025
状态 2(如果在状态 1 中,状态 2 的概率是 0.0003): 增长概率,A = .01 收缩概率,E = .05
模拟从状态 1 开始
在状态 1 中,从 data.frame1 中采样随机数,如果 #
如果# = .003,如果 #
我希望@agstudy 可以解决这个问题,但它可能不会……抱歉,如果是这样的话。
这是一个在 excel 中生成的示例,说明小集合的外观
第一列来自data.frame1,输入列是data.frame2,出于解释目的,我包括了状态和长度列。
rnumbers state input length
0 1 0 0 # initialized state
0.009413895 1 1 1
0.052959306 1 1 2
0.002453354 1 -1 1
0.000290324 2 -1 0
0.093312954 2 0 0
0.077210941 2 0 0
0.04924944 2 -1 -1
0.010590107 2 -1 -2
0.03308292 2 -1 -3
0.037239807 2 -1 -4
0.007889393 2 -1 -5
0.026476751 2 -1 -6
0.000454509 1 1 -5
0.009820683 1 1 -4
0.019836999 1 1 -3
0.009380381 1 1 -2
0.083149383 1 1 -1
0.022212547 1 1 0
0.051917035 1 1 1
0.05032031 1 1 2
0.03956718 1 1 3
0.032664445 1 1 4
0.004352291 1 1 5
0.08902418 1 1 6
0.095643962 1 1 7
【问题讨论】:
-
如果
rnum[i] == C怎么办? -
好点,把 rnum[i] > C 当作 rnum[i] >= C
-
你注意到了吗,因为
C < D,rnum[i] < C总是TRUE如果rnum[i] < D? -
当满足条件 rnum[i]
标签: r loops repeat random-sample control-structure