1

您好,提前感谢您的帮助!

不久前,我问了一个关于根据概率分布随机选择值的问题。这是相关的,但我认为它应该有自己的帖子。

我在上一个问题中创建的向量是二进制的,现在我想生成一个加权向量(即有界整数)。我从带有长尾的零膨胀或准泊松分布中采样,因此选择零的概率比另一个值高得多,但选择大值(例如 63)的概率是有限的。

我可以使用 rpois 从泊松分布中选择值并创建给定长度的向量。这与我想做的类似,所以我将使用它作为示例。

e=seq(0:63)
vec<-c(0,0,0,1,1,1)
ones <- which(vec == 1L)
temp=rpois((sum(vec)),e)
vec[ones]<-temp

这适用于将从泊松分布中选择的特定数量的值分配给向量。反正有没有让它准泊松或零膨胀?

4

1 回答 1

4

这里有一个不同发行版的大列表:http: //cran.r-project.org/web/views/Distributions.html

对于零膨胀泊松...

install.packages("gamlss.dist")
library(gamlss.dist)

rZIP(n, mu, sigma)

对于 quasi-poisson,看起来 VGAM 包中带有 quasipoissonff 的一些功能,但这似乎是为了拟合而不是生成。看起来 Arthur Charpentier 在这里做了一些事情 - 但你真的需要知道你在寻找什么来获得正确的分发:http: //freakonometrics.blog.free.fr/index.php?post /2010/10 /21/如何从准泊松分布生成变量

于 2011-08-12T01:44:17.330 回答