r - R中的变量如何,中心限制
问题描述
我有以下任务:假设感兴趣的人口可以通过 p = 0.5 的伯努利分布建模。对于每个样本大小 n,从 p = 0.5 的伯努利分布中模拟 r = 5, 000 次抽取(通过使用 for 循环 (i in 1:r)),并计算每次抽取的标准化样本平均值。
最后一个直方图看起来不错,有曲线,但第 1 和 2ns 是错误的。也许有人能帮我解决这个问题。在此先感谢您的时间!
我做了以下工作:
set.seed(2005)
x1 <- rbinom(5000,3,0.5)
par(mfrow=c(2,2))
hist(x=x1,
main=expression(paste(" Random Variables with",size,"=1 and",prob,"=0.5")),
sub="Standardized value of smple sample avearge",
xlab="n=3", ylab="Probability", probability = TRUE)
curve(dnorm(x, mean = mean(x), sd=sd(x)), add = TRUE, col="blue")
解决方案
本质上,前两个面板中发生的情况是,对于一个小n
的直方图中断以不优雅的方式计算。您可以通过让中断取决于数据范围来解决此问题。在这里,我根据数据的范围是否小于10来选择breaks。如果是TRUE
,则手动计算breaks,否则使用默认"Sturges"
算法进行breaks。
par(mfrow=c(2,2))
N <- c(2, 5, 25, 100)
for (i in seq_along(N)) {
set.seed(2015 + i)
n <- N[i]
xx <- rbinom(10000, n, 0.78)
if (diff(range(xx)) < 10) {
breaks <- seq(floor(min(xx)), ceiling(max(xx)))
} else {
breaks <- "Sturges"
}
hist(
x = xx, breaks = breaks,
main=expression(paste("Bernoulli Random Variables with",size,"=1 and",prob,"=0.78")),
sub = "Standardized value of sample average",
xlab = paste0("n=",n), ylab = "Probability", probability = TRUE
)
curve(dnorm(x, mean = mean(xx), sd=sd(xx)), add = TRUE, col="blue")
}
由reprex 包(v0.3.0)于 2021-01-07 创建
推荐阅读
- javascript - 使用 Node Stream 加入音频文件
- excel - 优化下一个循环的运行速度 vba
- php - PrestaShop 模块前端控制器
- wordpress - 临时 dns 错误 inet_e_resource_not_found
- asp.net-mvc - 如何在 .net mvc 中禁用模型视图复选框?
- ionic-framework - 当离子搜索栏上没有文本时,列表应该隐藏吗?
- swift - 编辑 tableView 后如何更新模型
- windows - 获取总数的百分比
- vba - Application.Cells VS Application.ActiveSheet.Cells
- css - 离子4改变输入颜色