目的 複数の標本相関係数の母相関係数が同じかを検定し,同じである場合には一つの点推定値を与える 使用法 eq.cor(n, r) 引数 n 標本サイズのベクトル r 標本相関係数のベクトル ソース インストールは,以下の 1 行をコピーし,R コンソールにペーストする source("http://aoki2.si.gunma-u.ac.jp/R/src/eq_cor.R", encoding="euc-jp") # 標本相関係数の同等性の検定 eq.cor <- function( n, # 標本サイズのベクトル r) # 標本相関係数のベクトル { stopifnot( n > 3, # 各群の標本サイズは 3 以上でなければならない length(n) == length(r), # n と r の要素数は同じでなければならない floor(n) == n, # 標本サイズは整数値でなくてはならない abs(r) <= 1) # 標本相関係数は -1 〜 1 の範囲でなければならない method <- "標本相関係数の同等性の検定" data.name <- paste(deparse(substitute(n)), "and", deparse(substitute(r))) k <- length(n) # 標本の個数 v <- n-3 z <- atanh(r) sv <- sum(v) svz <- sum(v*z) chi <- sum(v*z*z)-svz^2/sv # カイ二乗分布に従う検定統計量 df <- k-1 p <- pchisq(chi, df, lower.tail=FALSE) # P 値 result <- list(statistic=c("chi sq."=chi), parameter=c(df=df), p.value=p, method=method, data.name=data.name) if (p > 0.05) { # 標本相関係数が同等と見なせる場合は,点推定値を計算する est <- tanh(svz/sv) result <- c(result, list(estimate=c("Estimated rho"=est))) } return(structure(result, class="htest")) } 使用例 > n <- c(10, 16, 8, 29, 36) # 標本サイズのベクトル > r <- c(0.658, 0.285, 0.569, 0.427, 0.374) # 標本相関係数のベクトル > eq.cor(n, r) 標本相関係数の同等性の検定 data: n and r chi sq. = 1.424, df = 4, p-value = 0.84 sample estimates: Estimated rho # 母相関係数の点推定値 0.4179631 # 帰無仮説が採択されたときに表示される 解説ページ