我必须生成泊松回归,为此我想使用逆 CDF 方法。我正在关注this帖子来生成数据。但它不是基于逆 cdf 方法。帖子有以下代码
> #sample size
> n <- 10
> #regression coefficients
> beta0 <- 1
> beta1 <- 0.2
> #generate covariate values
> x <- runif(n=n, min=0, max=1.5)
> #compute mu's
> mu <- exp(beta0 + beta1 * x)
> #generate Y-values
> y <- rpois(n=n, lambda=mu)
> #data set
> data <- data.frame(y=y, x=x)
> data
我不想使用 r 内置函数
rpois
。我发现 this 帖子确实仅对一个 lambda 使用该方法。现在,如何使用逆 cdf 方法为各种 lambda 生成泊松分布?
注意: 这篇有用的帖子提供了各种样本大小的代码,我不想要这样。
非常感谢任何帮助。谢谢你。
答案这里是优雅且快速的,但如果你不关心效率那么
my_rpois <- function(n, lambda) {
qpois(runif(n), lambda)
}
应该努力实现逆 CDF 方法。 (
lambda
可以是向量)