统计:R中的二项分布和简单图

hib*_*ibc 2 r

我正在尝试为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")
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是正确的绘图方式..

Aru*_*run 7

一般来说,当您的问题类似于:

考虑到成功概率是0.8,在20次操作中"至少"获得16次成功的可能性是多少?

这可以通过使用二项式公式来完成,该公式为:

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

我们需要相同k = 16..20并总结所有这些值以获得至少16个中的成功概率.这可以使用dbinomas:

sum(dbinom(16:20, 20, prob=0.8)) # 0.6296483
Run Code Online (Sandbox Code Playgroud)

请注意,在此成功率(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)
Run Code Online (Sandbox Code Playgroud)

这给你的东西:

ggplot2_binomial

希望这可以帮助.