目的 二次データに基づいて,母平均の検定と推定を行う (生データを用いるときには,R に用意されている t.test 関数を使う) 使用法 boheikin(n, xbar, U=NULL, mu=0, sigma2=NULL, conf.level=0.95) 引数 n 標本サイズ xbar 標本平均 U 標本不偏分散(母分散が未知の場合に指定する) mu 母平均(デフォルトは 0。信頼区間を推定するだけの場合にはデフォルトで差し支えない) sigma2 母分散(母分散が既知の場合に指定する。母分散が既知であるという状況はほとんどないであろう) conf.level 信頼度を 0 ~ 1 の範囲で指定する。デフォルトは 0.95(95% 信頼区間) ソース インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/boheikin.R", encoding="euc-jp") # 母平均の検定・推定 boheikin <- function( n, # 標本サイズ xbar, # 標本平均 U=NULL, # 標本不偏分散(母分散が未知の場合に指定する) mu=0, # 母平均(信頼区間だけを求めるときには不要) sigma2=NULL, # 母分散(母分散が既知の場合に指定する) conf.level=0.95) # 信頼区間の信頼率 { if (!is.null(U)) { # 母分散が未知のとき data.name <- sprintf("n = %s, mean = %s, variance = %s, μ = %s", n, xbar, U, mu) method <- "二次データによる母平均の検定と推定(母分散が未知のとき)" t <- abs(xbar-mu)/sqrt(U/n) df <- n-1 p <- pt(t, df, lower.tail=FALSE)*2 q <- qt(0.5-conf.level/2, df) conf.int <- xbar+c(q, -q)*sqrt(U/n) attr(conf.int, "conf.level") <- conf.level names(t) <- "t" names(df) <- "df" return(structure(list(statistic=t, parameter=df, p.value=p, conf.int=conf.int, method=method, data.name=data.name), class="htest")) } else if (!is.null(sigma2)) { # 母分散が既知のとき data.name <- sprintf("n = %s, mean = %s, μ = %s, σ2 = %s", n, xbar, mu, sigma2) method <- "二次データによる母平均の検定と推定(母分散が既知のとき)" z <- abs(xbar-mu)/sqrt(sigma2/n) p <- pnorm(z, lower.tail=FALSE)*2 q <- qnorm(0.5-conf.level/2) conf.int <- xbar+c(q, -q)*sqrt(sigma2/n) attr(conf.int, "conf.level") <- conf.level names(z) <- "Z-value" return(structure(list(statistic=z, p.value=p, conf.int=conf.int, method=method, data.name=data.name), class="htest")) } else { stop("不偏分散か母分散かどちらも NULL では計算できません") } } 使用例 > boheikin(31, 157.8, U=24.6, mu=156.2) # 母分散が未知→ U を指定 二次データによる母平均の検定と推定(母分散が未知のとき) data: n = 31, mean = 157.8, variance = 24.6, μ = 156.2 t = 1.7961, df = 30, p-value = 0.08255 # 検定結果 95 percent confidence interval: # 信頼区間 155.9807 159.6193 > boheikin(31, 157.8, sigma2=25.5, mu=156.2) # 母分散が既知→ sigma2 を指定 二次データによる母平均の検定と推定(母分散が既知のとき) data: n = 31, mean = 157.8, μ = 156.2, σ2 = 25.5 Z-value = 1.7641, p-value = 0.07771 # 検定結果 95 percent confidence interval: # 信頼区間 156.0224 159.5776 解説ページ