【发布时间】:2020-11-30 19:42:59
【问题描述】:
我正在尝试使用 R 进行简单的分支过程来计算 10 代以上的狐狸种群
我使用的是 lambda = 1.5,并且我知道可以使用 rpois(1, 1.5) 计算初始生成的狐狸数量。
但是,我不知道如何创建一个函数来计算下一代人口,并将总人口加在一起。如果有人能给出一些起点,那就太好了。
【问题讨论】:
标签: r stochastic-process
我正在尝试使用 R 进行简单的分支过程来计算 10 代以上的狐狸种群
我使用的是 lambda = 1.5,并且我知道可以使用 rpois(1, 1.5) 计算初始生成的狐狸数量。
但是,我不知道如何创建一个函数来计算下一代人口,并将总人口加在一起。如果有人能给出一些起点,那就太好了。
【问题讨论】:
标签: r stochastic-process
我相信您正在寻找类似以下的功能:
pois_bprocess <- function(generations, lambda, trace = TRUE){
z_i <- rpois(1, lambda)
i <- 1
if(trace) print(paste(i, ':', z_i))
while(i < generations){
# draw z_i samples from a poisson distribution with lambda and sum them
z_i <- sum(rpois(z_i, lambda))
i <- i + 1
if(trace) print(paste(i, ':', z_i))
}
return(z_i)
}
# Example usage : pois_bprocess(10, 1.5)
# Example usage : pois_bprocess(10, 1.5, trace = F)
请注意,由于泊松分布的假设 lambda 为 1.5,导致早期绘制零并卡住的机会相当高。
HTH
【讨论】: