母平均の検定・推定     Last modified: Apr 21, 2014

目的

二次データに基づいて,母平均の検定推定を行う
(生データを用いるときには,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 

・ 解説ページ


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh