我正在尝试为R中的二项分布创建一个简单的图。

因此,问题是“有20名患者,并且成功进行4例患者手术的概率是多少(假设该概率= 0.8)”。

我所做的是

x <- rbinom(4, size= 20, prob = 0.8)
y <- pbinom(x, size = 20, prob = 0.8)
plot(y, type="l")

但是我不确定这是否是绘制图形的正确方法。

最佳答案

通常,您的可视化问题来自以下问题:

假设成功概率为0.8,那么在20次操作中“至少”成功16次的概率是多少?

这可以通过使用二项式公式完成:

p(x=k) = choose(n, k) * .8^k * .2^(n-k) # equivalent to dbinom(k, n, prob=0.8)

我们需要为k = 16..20设置相同的值,并对所有这些值求和,以获得20中至少16个成功的概率。这是使用dbinom完成的:
sum(dbinom(16:20, 20, prob=0.8)) # 0.6296483

请注意,以该成功率(0.8)至少有4次成功的概率仅为1。也就是说,我们绝对肯定将至少有4次成功。这就是为什么我选择相对较高的成功率的原因。

要绘制此图像(使用ggplot2):
df <- data.frame(x=1:20, prob=dbinom(1:20, 20, prob=0.8))
require(ggplot2)
ggplot(data=dd, aes(x=x,y=prob)) + geom_line() +
      geom_ribbon(data=subset(dd,x>=16 & x<=20),aes(ymax=prob),ymin=0,
                  fill="red", colour = NA, alpha = 0.5)

这给您类似:

希望这可以帮助。

关于r - 统计:R中的二项分布和简单图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14933884/

10-11 18:16