第5章 確率変数と確率分布
ここでは,二項分布のグラフをRで描く方法を説明する.
5.1 二項分布
Rには,主要な確率分布の確率関数(連続の場合は確率密度関数)がすでに用意されている.二項分布はdbinom(x, size, prob)
である.x
が成功回数のベクトル,size
は試行回数\(n\),prob
は成功確率\(p\)を指定する.
5.2 二項分布のグラフ
基本的には,\(n\)(x<-0:5
の5
の値)と\(p\)の値を変えて一つずつグラフを描けばよい.
\(p\)を変えたグラフをまとめて描く.
\(n = 5\)
pvec<-c(0.1,0.5,0.7)
x<-0:5
probs<-sapply(pvec, function(p) dbinom(x, length(x)-1, p))
colnames(probs)<-c("p=0.1","p=0.5","p=0.7")
rownames(probs)<-x
barplot(t(probs),beside=TRUE, legend = TRUE,
col=c("blue", "red", "green"))
\(n = 10\)
5.3 ggplot2で描く
モダンなグラフ描写をする場合は,ggplot2
パッケージを用いるといいだろう.いくつかのパッケージをバンドルしたtidyverse
パッケージを呼び出して使おう.
library(tidyverse)
x <- 0:20
tibble(
x = x,
p01 = dbinom(x, length(x) - 1, 0.1),
p05 = dbinom(x, length(x) - 1, 0.5),
p07 = dbinom(x, length(x) - 1, 0.7)
) %>%
gather(key = p, value = prob, p01, p05, p07) %>%
ggplot(.,aes(x=x,y=prob,fill=p)) +
geom_bar(stat = "identity", position = "dodge") +
scale_x_continuous(breaks = x) +
scale_fill_hue(name = "p",
labels = c(p03 = "0.1",
p05 = "0.5",
p07 = "0.7"))