我必须解决以下练习.
(1)用lambda = 4创建100个Poisson分布式rv
(2)计算在(1)中产生的样品的平均值.
(3)重复(1)和(2)10.000次.
(4)创建一个包含10.000平均值的向量.
(5)在直方图中绘制矢量.
以下解决方案(?)对吗?
> as.numeric(x)
> for(i in 1:10000){
> p <- rpois(100, lambda = 4)
> m <- mean(p)
> append(x, m)
>}
> hist(x, breaks = 20)
Run Code Online (Sandbox Code Playgroud)
这有点好笑.您可以以更清晰的方式快速完成您的要求.例如:
L <- 10000
emptyvector <- rep(NA, L)
for(i in 1:L){
emptyvector[i] <- mean(rpois(100, lambda = 4))
}
hist(emptyvector)
Run Code Online (Sandbox Code Playgroud)
我会利用replicate()函数创建一个结果矩阵然后运行colMeans来快速获取我的向量.
meanvector <- colMeans(replicate(10000, rpois(100, lambda = 4)))
hist(meanvector, main = "Mean values from 10,000 runs of \nPoisson n = 100")
Run Code Online (Sandbox Code Playgroud)