繁体   English   中英

R prob = TRUE 在 hist 中没有给出密度分布

[英]R prob = TRUE in hist doesn't give out a density distribution

earthquake <- function(lambda=1, n_sim =10, n=100){
  meanls <- c()
  for (i in 1:n){
    meanls <- c(meanls,round(mean(rexp(n_sim,1/lambda)),2))
  }
  return(meanls)
}
xbar <- earthquake(2.4,1000,40)
hist(xbar, prob=TRUE, col="moccasin",las= TRUE)

我有上面的代码,它应该返回一个密度分布直方图,因为我将概率设置为 TRUE,而我只是得到频率图。 我还应该对数据做些什么吗?

如果你设置一个随机种子,你可以复制你的结果。 否则,您将需要根据您的数据调整您的xlim= 你没有说为什么你使用sd=2.4/sqrt(40))作为标准偏差,而不是我在这里使用的sd(xbar) 这会产生一条非常宽泛、平坦的曲线,与数据完全不匹配。 如果您想要标准误差曲线,那就是sd(xbar)/sqrt(40)

set.seed(42)
xbar <- earthquake(2.4, 1000, 40)
range(xbar)
# [1] 2.19 2.59
hist(xbar, prob=TRUE, xlim=c(2.1, 2.7), col="moccasin", las= TRUE)
x <- seq(2.1, 2.7, length.out=100)
curve(dnorm(x, mean=mean(xbar), sd=sd(xbar)), col="blue", add=TRUE, lwd=2)
lines(density(xbar), col="red", lwd = 2)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM