我试图在R中编写一个函数,该函数产生一组n个iid Bernoulli随机变量X1,X2,...,Xn〜B(1,π)。
生成M = 1000个随机样本。当n = 10且pi = 0.4时。
我在启动代码时遇到麻烦。如果有人可以帮忙,将不胜感激。
这是我到目前为止所做的:
rbinom(n=10,prob=.4,size=1)
现在,我想将这些变量组装成通过该rbinom
函数运行的1000个样本的矩阵。
到目前为止,您已经完成的工作:
set.seed(101) ## for reproducibility
rr <- replicate(1000,rbinom(n=10,prob=.04,size=1))
创建1000个样本。
dim(rr)
## [1] 10 1000
mean(rr)
## [1] 0.0411
也就是说,这是10行x 1000列;您可以根据需要使用t()
它进行转置。如果您simplify=FALSE
在replicate()
通话中指定,则会获得长度为10的向量列表。
(您的问题是否需要0.04或0.4的概率是不一致的,但您应该可以自己解决这个问题。)
对于这个特定问题,您还可以使用
matrix(rbinom(10000,prob=0.04,size=1),nrow=10)
或者
matrix(as.numeric(runif(10000)<0.04),nrow=10)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句