R(統計学)

2022年12月 6日 (火)

[R]確率変数 X が正規分布 N(μ, σ^2) に従うときの確率 P を求める

確率変数 X が正規分布 N(13, 4^2) に従うときの、次の確率 P それぞれ求める。

(1) P (7≦X≦19), (2) P (1≦X≦25), (3) P (X≦20)

なお、答えはそれぞれ 0.8663…, 0.9973…, 0.9599… である。

> # (1)
> pnorm(19, 13, 4) - pnorm(7, 13, 4)
[1] 0.8663856
> # (2)
> pnorm(25, 13, 4) - pnorm(1, 13, 4)
[1] 0.9973002
> # (3)
> pnorm(20, 13, 4)
[1] 0.9599408

2022年12月 4日 (日)

[R]ガンマ関数の値を求める

gamma関数を使う。有名なガンマ関数の性質であるΓ(n) = (n - 1)!(n≧2,整数)について、

> gamma(1)
[1] 1
> gamma(2:5)
[1] 1 2 6 24

となる。以下も有名な値(Γ(1/2)=√π)。

> gamma(1 / 2)
[1] 1.772454
> sqrt(pi)
[1] 1.772454

2022年4月30日 (土)

[R]t分布における分布関数の値を求める

pt関数を使う。以下は自由度5のt分布において、確率変数Xが2における上側(=0.05096974…)、両側(=0.1019395…)の分布関数の値を求めた例。

> pt(2, 5, lower.tail = FALSE)
[1] 0.05096974
> 2 * pt(2, 5, lower.tail = FALSE)
[1] 0.1019395

2022年4月27日 (水)

[R]t分布における確率密度関数の値を求める

dt関数を使う。以下は確率変数が-5~5の範囲において、自由度1と5のt分布における確率密度関数をグラフにした例。

> xx <- seq(-5, 5, 0.1)
> plot(xx, dt(xx, 5), type = "l", col = "blue")
> lines(xx, dt(xx, 1), col = "black")
> text(1.5, 0.3, "n=5", col = "blue")
> text(2, 0.2, "n=1")

Dt

2022年4月26日 (火)

[R]t分布におけるパーセント点を求める

qt関数を使う。以下は自由度5のt分布において、上側5%点(=2.015048…)、両側5%点(=2.570582…)を求めた例。

> qt(1 - 0.05, 5)
[1] 2.015048
> qt(1 - 0.05 / 2, 5)
[1] 2.570582
 

2022年4月18日 (月)

[R]女子大生200人の身長を1cmきざみで整理した度数分布表(統計解析のはなし、p.10)

> dtf <- read.csv("table1-1-1.csv", header = TRUE)
> for (i in 143:170) {
+ cat(sprintf("%d %2d\n", i, length(which(dtf$height == i))))
+ }
143 1
144 0
145 0
146 2
147 2
148 1
149 2
150 4
151 9
152 4
153 17
154 8
155 16
156 22
157 13
158 12
159 15
160 14
161 8
162 15
163 8
164 7
165 7
166 3
167 2
168 4
169 3
170 1

2022年4月17日 (日)

[R]t分布のグラフ(統計解析のはなし、p.123)

> x <- seq(-3, 3, 0.1)
> plot(0, 0, xlim = c(-3, 3), ylim = c(0, 0.4), xlab = "", ylab = "", type = "n")
> for (i in c(1, 2, 5, 100)) {
+ lines(x, dt(x, i))
+ text(0.4, dt(0, i), sprintf("n=%d", i))
+ }

Fig2314

2022年4月13日 (水)

[R]t分布のパーセント点の略表(両側)(入門 統計解析 医学・自然科学編、p.35)

> for (i in 1:20) {
+ cat(sprintf("%2d %5.3f %6.3f %6.3f\n", i, qt(0.95, i), qt(0.975, i), qt(0.995, i)))
+ }
1 6.314 12.706 63.657
2 2.920 4.303 9.925
3 2.353 3.182 5.841
4 2.132 2.776 4.604
5 2.015 2.571 4.032
6 1.943 2.447 3.707
7 1.895 2.365 3.499
8 1.860 2.306 3.355
9 1.833 2.262 3.250
10 1.812 2.228 3.169
11 1.796 2.201 3.106
12 1.782 2.179 3.055
13 1.771 2.160 3.012
14 1.761 2.145 2.977
15 1.753 2.131 2.947
16 1.746 2.120 2.921
17 1.740 2.110 2.898
18 1.734 2.101 2.878
19 1.729 2.093 2.861
20 1.725 2.086 2.845

2022年4月12日 (火)

[R]正規分布の分布関数の値を得る

pnorm関数を使う。平均が0、標準偏差が1の正規分布における-1における分布関数は以下のとおり。

> pnorm(-1, mean = 0, sd = 1)
[1] 0.1586553

この0.1586553…という値は、以下の確率密度関数のグラフにおける、緑色で塗った箇所の面積である。

> x <- seq(-5, 5, 0.1)
> y <- dnorm(x, mean = 0, sd = 1)
> xp <- seq(-5, -1, 0.1)
> yp <- dnorm(xp, mean = 0, sd = 1)
> plot(x, y, type = "l")
> polygon(c(xp, -1), c(yp, 0), col = "green")

Pnorm

この関数を使うと、いわゆる1σ(いちしぐま)の範囲(平均値±標準偏差)の値が出る確率を簡単に求めることができる。分布関数とは、確率変数が指定の値より小さい値をとるときの確率であるため、σ(上記の例では1)における分布関数の値から、-σ(上記の例では-1)における分布関数の値を引けばよい。

> pnorm(1, mean = 0, sd = 1) - pnorm(-1, mean = 0, sd = 1)
[1] 0.6826895

標準正規分布(平均0、標準偏差1)において、平均値±標準偏差の範囲になる確率は0.6826895…(約68%)である。

2022年4月 8日 (金)

[R]正規分布の確率密度関数の値を得る

dnorm関数を使う。よく見かける平均0、標準偏差が1の正規分布に従う、確率密度関数のグラフは以下のとおり。

> x <- seq(-5, 5, 0.1)
> y <- dnorm(x, mean = 0, sd = 1)
> plot(x, y, type = "l")

Dnorm

この正規分布で確率変数(横軸)が0のときの確率密度関数の値(縦軸の値)は、図より0.4程度と推察されるが、それをより正確に求めるにはdnorm関数で次のようにする。

> dnorm(0.0, mean = 0, sd = 1)
[1] 0.3989423

dnorm関数は、meanオプションを省略すると0、sdオプションを省略すると1が指定されたものとして計算をする。よって、この例では次のようにしても同じ。

> dnorm(0.0)
[1] 0.3989423

より以前の記事一覧

無料ブログはココログ