您好,提前感谢您的帮助!
不久前,我问了一个question关于根据概率分布随机选择值的问题。这是相关的,但我认为它应该有自己的帖子。
我在上一个问题中创建的向量是二进制的,现在我想生成一个加权的向量(即有界整数)。我是从具有长尾的零膨胀或准泊松分布中采样,因此选择一个零的概率比选择另一个值的概率高得多,但选择一个大的值的概率是有限的(例如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这对于将从泊松分布中选择的特定数量的值分配给向量非常有效。有没有办法让它准泊松或零膨胀?
发布于 2011-08-12 09:44:17
这里有一个不同发行版的大列表:http://cran.r-project.org/web/views/Distributions.html
对于零膨胀的泊松。
install.packages("gamlss.dist")
library(gamlss.dist)
rZIP(n, mu, sigma)对于准泊松,看起来在VGAM包中有一些功能,但这似乎是为了拟合而不是生成。看起来Arthur Charpentier在这里做了些什么--但是你真的需要知道你在寻找什么才能得到正确的发行版:http://freakonometrics.blog.free.fr/index.php?post/2010/10/21/How-to-genrerate-variables-from-a-quasi-Poisson-distribution
https://stackoverflow.com/questions/7034648
复制相似问题