N <- 10000 n <- 10 n1 <- rnorm(N*n, mean=11, sd=2) # N(11, 4) から大きさ n の標本を N 回シミュレーション n1.mat <- matrix(data=n1, ncol=n) # データ行列 pvalue <- NULL for(i in 1:N){ wt <- wilcox.test(n1.mat[i,]-10) pvalue <- c(pvalue, wt$p.value) } length(pvalue[pvalue<0.05])
N <- 10000 # シミュレーション回数 #n <- 10 # サンプルサイズ n <- 43 m0 <- 11 #m0 <- 12 #m0 <- 13 n1 <- rnorm(N*n, mean=m0, sd=2) # N(m0, 4) から大きさ n の標本を N 回シミュレーション n1.mat <- matrix(data=n1, ncol=n) # データ行列 n1.mean <- apply(n1.mat, 1, mean) # 各サンプルの平均 n1.var <- apply(n1.mat, 1, var) # 各サンプルの分散 n1.var3 <- n1.var/n # 各標本平均の分散 n1.td <- (n1.mean - 10)/sqrt(n1.var3) # 各サンプルの t 値 mean(n1.td) # t 値の平均 sd(n1.td) # t 値の標準偏差 mt <- ceiling(max(abs(n1.td))) # t 値の絶対値の最大値 xq1 <- qt(0.025, df = (n-1)) # t(9) の 2.5% 点 xq2 <- qt(0.975, df = (n-1)) # t(9) の 97.5% 点 length( n1.td[abs(n1.td) > xq2]) # 5% 検定で有意となった個数 hist(n1.td, breaks=seq(-mt, mt, by=0.2), probability=TRUE, xlab="t 値", ylab="密度", main="") #curve(dt(x, df=(n-1) ), -5,5, col="red", add=T) # t 分布 abline(v=xq1, col="red") # 採択域の下限 abline(v=xq2, col="red") # 採択域の上限 title(main="Histogram of t values") # タイトル # wilcoxtest pvalue <- NULL for(i in 1:N){ wt <- wilcox.test(n1.mat[i,]-10) pvalue <- c(pvalue, wt$p.value) } length(pvalue[pvalue<0.05])
真の平均 | 検出力(%) |
---|---|
μ = 11 | 29.0 |
μ = 12 | 80.3 |
μ = 13 | 98.8 |
サンプルサイズ | t検定 | 符号順位和検定 |
---|---|---|
43 | 88.9 | 87.8 |
44 | 89.9 | 88.5 |
45 | 90.5 | 88.9 |
46 | 91.6 | 90.6 |
45/46 = 0.98 なので,符号順位和検定はt検定の約98%の効率であるといえる.
unagi <- read.csv("unagi2.csv") attach(unagi) boxplot(unagi) var.test(noNa, Na)
t.test(noNa, Na) wilcox.test(noNa, Na) ks.test(noNa, Na) plot(ecdf(noNa), do.points=F, verticals=T,xlab="生理活性", ylab="累積確率", xlim=range(noNa, Na), main="") plot(ecdf(Na), do.points=F, verticals=T, add=T, col.h='red', col.v='red')
検定方法 | p 値 | |
---|---|---|
分散同等性検定 | 0.047 | * |
Welch 検定 | 0.01355 | * |
順位和検定 | 0.01452 | * |
Kolmogorov-Smirnov 検定 | 0.07546 |
分散安定化変換を試す.
x <- log(noNa) y <- log(Na) boxplot(x, y) var.test(x, y) t.test(x, y, var.equal=T)
検定方法 | p 値 | |
---|---|---|
分散同等性検定 | 0.5071 | |
t 検定 | 0.01126 | * |
見た | 見ない | |
---|---|---|
カメルーン戦 | 271 | 329 |
オランダ戦 | 258 | 342 |
x <- matrix(c(271, 258, 329, 342), nrow=2); x chisq.test(x)
p 値 = 0.4845 で,差は認められない.
9試合平均なので,見た人数を9倍する.
見た | 見ない | |
---|---|---|
過去 | 2907 | 2493 |
予選 | 529 | 671 |
x <- matrix(c(323*9, 529, 277*9, 671), nrow=2); x chisq.test(x)
p 値 = 0 なので,今回は今までと比べ有意に低い.ただし,予選の結果なので, 本戦のデータが必要であろう.
食品名 | 発症あり | 発症なし | ||
---|---|---|---|---|
食べた | 食べない | 食べた | 食べない | |
ケーキ | 27 | 19 | 13 | 16 |
ハムステーキ | 29 | 17 | 17 | 12 |
バニラアイス | 43 | 3 | 11 | 18 |
チョコアイス | 25 | 20 | 22 | 7 |
フルーツサラダ | 4 | 42 | 2 | 27 |
# ケーキ x <- matrix(c(27, 19, 13, 16), nrow=2); x chisq.test(x) fisher.test(x) # ハムステーキ x <- matrix(c(29, 17, 17, 12), nrow=2); x chisq.test(x) fisher.test(x) # バニラアイス x <- matrix(c(43, 3, 11, 18), nrow=2); x chisq.test(x) fisher.test(x) # チョコアイス x <- matrix(c(25, 20, 22, 7), nrow=2); x chisq.test(x) fisher.test(x) # フルーツサラダ x <- matrix(c(4, 42, 2, 27), nrow=2); x chisq.test(x) fisher.test(x)
食品名 | p 値 | オッズ比 |
---|---|---|
ケーキ | 0.3499 | 1.735835 |
ハムステーキ | 0.889 | 1.201146 |
バニラアイス | 0 | 22.15606 |
チョコアイス | 0.1275 | 0.4026708 |
フルーツサラダ | 1 | 1.281528 |
バニラアイスが原因食材であることがわかった.ところで,チョコアイスのオッズ比が1より小さい ので,チョコアイスは食中毒症状を抑制した働きがあったようである.この解釈としては, チョコに食中毒症状を緩和する効果があると考えることもできるが,チョコが好きな人はバニラアイス に手を伸ばす可能性を減少させたと考えるのが自然であろう.