计算已知死亡率随时间推移的预期幸存者人数

Calculate expected number of survivors over time with a known death rate

总人数N,每日死亡率:p1。我想计算某些天后的幸存者人数。

day1 : N - N*p1 
day2 : (N - N*p1) -  (N - N*p1)*p1
day3 : ((N - N*p1) -  (N - N*p1)*p1) - ((N - N*p1) -  (N - N*p1)*p1)*p1
...

这是我到目前为止为开始获取第 1 天的数量所做的工作。建议将不胜感激。

df <- data.frame(day = c(1:30))  
N <- 1000
p1 <- 0.06
apply(df,1, function(x) N-N*p1) 

基本上,您可以使用复利方程。

foo = function(N, p1, d){
    for (i in 1:d){
        N = N - N * p1
    }
    N
}

foo(1000, 0.06, 30)

bar = function(N, p1, d){
    N * (1 - p1)^d
}

bar(1000, 0.06, 1:30)

或者如果你只是想要一个情节

curve(1000 * (1 - 0.06) ^ x, 0, 30, n = 31)