根据R中二项分布的迭代创建直方图

时间:2017-10-10 00:33:45

标签: r

以下是说明: 创建10,000次迭代(N = 10,000) rbinom(50,1,0.5),n = 50,猜测p0 = 0.50(提示:你需要 构造一个for循环)。绘制样本结果的直方图。然后绘制你的 直方图上的pstar。如果pstar不在直方图的极端区域,你会 假设你的猜测是正确的,反之亦然。最后计算出概率 p0< pstar(这是一个p值)。

我知道如何创建for循环和rbinom函数,但我不确定如何将此信息传输到直方图上绘图,以及绘制自定义点(我的猜测值)。

1 个答案:

答案 0 :(得分:1)

我没有为你做功课,但这应该让你开始。你不会说pstar应该是什么,所以我假设你对p的最大似然估计(的分布)感兴趣。

您创建了10,000个N=50二项式样本(不需要for循环):

sample <- lapply(seq(10^5), function(x) rbinom(50, 1, 0.5))

p的ML估计值是

phat <- sapply(sample, function(x) sum(x == 1) / length(x))

检查分发

require(ggplot)
ggplot(data.frame(phat = phat), aes(phat)) + geom_histogram(bins = 30)

并计算p0 < phat

的概率

修改1 如果坚持,您还可以使用for循环生成样本。

sample <- list();
for (i in 1:10^5) {
    sample[[i]] <- rbinom(50, 1, 0.5);
}