在一定时间内已知的死亡率,经过一段时间计算的预期存活人数

问题描述 投票:0回答:1

[总数为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
...

这是到目前为止我开始做的第一天的工作。请提出建议。

df <- data.frame(day = c(1:30))  
N <- 1000
p1 <- 0.06
apply(df,1, function(x) N-N*p1) 
r survival
1个回答
2
投票
foo = function(N, p1, d){
    for (i in 1:d){
        N = N - N * p1
    }
    N
}

foo(1000, 0.06, 30)

OR

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)
© www.soinside.com 2019 - 2024. All rights reserved.