Вот один из способов: сначала получить вероятность смерти данного человека в данный год как probYrDeath
, т.е. probYrDeath[i] = Prob( individual dies in year i )
, где i=1,2,...,7
.
probYrDeath <- c(diff(c(0,cum.prob)).
Теперь сгенерируйте случайную выборку из 1000 "лет смерти" с заменой из последовательности 1: 8 в соответствии с вероятностями в probYrDeath
, дополненными вероятностью не умереть к 7 году:
set.seed(1) ## for reproducibility
tab$DeathYr <- sample( 8, 1000, replace = TRUE,
prob = c(probYrDeath, 1-sum(probYrDeath)))
Мы интерпретируем "DeathYr = 8" как "не умирающий в течение 7 лет" и извлекаем подмножество tab
, где 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