
【Rで統計学#3】確率分布
記事の目的
R言語を使用して、確率分布について実装していきます。
目次
1 使用するライブラリ
x
6
1
install.packages("dplyr")
2
install.packages("ggplot2")
3
install.packages("gridExtra")
4
library(dplyr)
5
library(ggplot2)
6
library(gridExtra)
2 確率分布からの乱数発生 r分布名(サンプルサイズ, パラメータ)
1
8
1
set.seed(10)
2
rbinom(5, 1, 0.5) # ベルヌーイ分布
3
rbinom(5, 10, 0.5) # 二項分布
4
rpois(5, 5) # ポアソン分布
5
rnorm(5, 0, 1) # 標準正規分布
6
rchisq(5, 100) # χ二乗分布
7
rt(5,100) # t分布
8
rf(5,100,80) # F分布
3 確率密度 d分布名(サンプルサイズ, パラメータ)
3.1 確率密度
1
1
1
d1 <- dnorm(1, 0, 1) # N(0,1)のx=1の確率密度
3.2 確率密度の可視化
1
9
1
x <- seq(-3, 3, 0.1)
2
y <- dnorm(x, 0, 1)
3
ggplot() +
4
geom_line(aes(x,y)) +
5
theme_classic(base_family="HiraKakuPro-W3")+ # テーマと文字化け修正
6
theme(text=element_text(size=30)) + # 文字サイズ
7
labs(title="標準正規分布") + # タイトル
8
geom_point(aes(1,d1), size=5) + # d1の点
9
annotate("text",x=1.5,y=d1+0.02, label="(1,d1)", size=10) # d1という文字
4 確率点 q分布名(p, パラメータ)
4.1 確率点
1
3
1
q1 <- qnorm(0.025, 0, 1)
2
q2 <- qnorm(0.975, 0, 1)
3
q1 ; q2
4.2 確率点のプロット
1
21
21
1
p1 <- ggplot() +
2
geom_line(aes(x,y)) +
3
theme_classic(base_family="HiraKakuPro-W3")+ # テーマと文字化け修正
4
theme(text=element_text(size=30)) + # 文字サイズ
5
labs(title="標準正規分布") + # タイトル
6
geom_point(aes(q1,0), size=2) + # q1の点
7
geom_ribbon(aes(x=x[x<q1], y=y[x<q1], ymin=0, ymax=y[x<q1]), alpha=0.3, fill="blue") + # 灰色区間
8
annotate("text",x=-2.1,y=0.02, label="0.025", size=3, col="blue") + # 0.025という文字
9
annotate("text",x=-1.4,y=0.01, label="(q1,0)", size=4) # (q1,0)という文字
10
11
p2 <- ggplot() +
12
geom_line(aes(x,y)) +
13
theme_classic(base_family="HiraKakuPro-W3")+ # テーマと文字化け修正
14
theme(text=element_text(size=30)) + # 文字サイズ
15
labs(title="標準正規分布") + # タイトル
16
geom_point(aes(q2,0), size=2) + # q2の点
17
geom_ribbon(aes(x=x[x<q2], y=y[x<q2], ymin=0, ymax=y[x<q2]), alpha=0.3, fill="blue") + # 灰色区間
18
annotate("text",x=0,y=0.15, label="0.975", size=10, col="blue") + # 0.975という文字
19
annotate("text",x=1.4,y=0.01, label="(q2,0)", size=4) # (q2,0)という文字grid.arrange(p1, p2, nrow=1)
20
21
grid.arrange(p1, p2, nrow=1)