这里有一种方法:首先将给定个人在给定年份死亡的概率设为probYrDeath
,即probYrDeath[i] = Prob( individual dies in year i )
,其中i=1,2,...,7
。
probYrDeath <- c(diff(c(0,cum.prob)).
现在根据 中的概率,从序列 1:8 中生成一个 1000 个“死亡年”的随机样本,并加上在probYrDeath
第 7 年没有死亡的概率:
set.seed(1) ## for reproducibility
tab$DeathYr <- sample( 8, 1000, replace = TRUE,
prob = c(probYrDeath, 1-sum(probYrDeath)))
我们将“'DeathYr = 8'”解释为“在 7 年内不会死亡”,并提取tab
where的子集DeathYr != 8
:
tab_sample <- subset(tab, DeathYr != 8 )
您可以验证每年的累计死亡比例是否接近于 中的值cum.prob
:
> cumsum(table(tab_sample$DeathYr)/1000)
1 2 3 4 5 6 7
0.045 0.071 0.080 0.094 0.105 0.115 0.124