R入門
まずはこの一冊から 意味が分かる統計学(ペレ出版)
最終更新:
r-intro
-
view
目次
平均(p.27)
以下の観測値をファイルtable_p027.csvに保存しておく。
i, x
1, 43
2, 47
3, 52
4, 52
5, 54
6, 61
7, 67
8, 67
9, 68
10, 69
11, 70
12, 71
13, 71
14, 73
15, 76
16, 78
17, 82
18, 84
19, 84
20, 91
計算する。
> dtf <- read.csv("table_p027.csv")
> x <- dtf$x
> m <- mean(x)
> cat(sprintf("%f\n", m))
68.000000
分散と標準偏差(pp.27-28)
観測値をファイルtable_p027.csvに保存しておく。
> dtf <- read.csv("table_p027.csv")
> x <- dtf$x
> n <- length(x)
> m <- mean(x)
> v <- sum((x - m) ^ 2) / n
> s <- sqrt(v)
> cat(sprintf("分散 = %f\n", v))
分散 = 163.700000
> cat(sprintf("標準偏差 = %f\n", s))
標準偏差 = 12.794530
母分散σ^2が既知のときの母平均μの推定(pp.205-207)
> x <- c(13.7, 15.5, 16.1, 14.4, 16.3)
> n <- length(x)
> xm <- mean(x)
> s <- 1
> ah <- 0.05
> a <- xm + qnorm(ah / 2, 0, s) * s / sqrt(n)
> b <- xm + qnorm(1 - ah / 2, 0, s) * s / sqrt(n)
> # 母平均μを信頼係数95%で区間推定した信頼区間
> cat(sprintf("%.2f≦μ≦%.2f\n", a, b))
14.32≦μ≦16.08
母分散σ^2が未知のときの母平均μの推定(pp.207-211)
> x <- c(13.7, 15.5, 16.1, 14.4, 16.3)
> n <- length(x)
> degf <- n - 1
> xm <- mean(x)
> s <- sqrt(var(x))
> ah <- 0.05
> a <- xm + qt(ah / 2, degf) * s / sqrt(n)
> b <- xm + qt(1 - ah / 2, degf) * s / sqrt(n)
> # 母平均μを信頼係数95%で区間推定した信頼区間
> cat(sprintf("%.2f≦μ≦%.2f\n", a, b))
13.81≦μ≦16.59
母平均μが既知のときの母分散σ^2の推定(pp.211-214)
> x <- c(13.7, 15.5, 16.1, 14.4, 16.3)
> n <- length(x)
> mu <- 15.
> devsqs <- sum((x - mu) ^ 2)
> ah <- 0.05
> a <- devsqs / qchisq(1 - ah / 2, n)
> b <- devsqs / qchisq(ah / 2, n)
> # 母分散σ^2の信頼係数95%の信頼区間
> cat(sprintf("%.2f≦σ^2≦%.2f\n", a, b))
0.41≦σ^2≦6.26
母平均μが未知のときの母分散σ^2の推定(pp.215-218)
> x <- c(13.7, 15.5, 16.1, 14.4, 16.3)
> n <- length(x) - 1
> xm <- mean(x)
> devsqs <- sum((x - xm) ^ 2)
> ah <- 0.05
> a <- devsqs / qchisq(1 - ah / 2, n)
> b <- devsqs / qchisq(ah / 2, n)
> # 母分散σ^2の信頼係数95%の信頼区間
> cat(sprintf("%.2f≦σ^2≦%.2f\n", a, b))
0.45≦σ^2≦10.32
母比率の信頼区間の推定(pp.218-221)
> n <- 10000
> xx <- 2100
> p <- xx / n
> ah <- 0.05
> a <- (xx + qnorm(ah / 2) * sqrt(n * p * (1 - p))) / n
> b <- (xx + qnorm(1 - ah / 2) * sqrt(n * p * (1 - p))) / n
> # 母比率を信頼係数95%で推定した信頼区間
> cat(sprintf("%.3f≦p≦%.3f\n", a, b))
0.202≦p≦0.218
添付ファイル