在R中绘制直方图

Xar*_*rus 0 r

我必须解决以下练习.

(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)

Eva*_*and 5

这有点好笑.您可以以更清晰的方式快速完成您的要求.例如:

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)