コクランのQ検定 Last modified: Aug 19, 2009
目的
コクランのQ検定を行う
使用法
Cochran.Q.test(x)
引数
x データ行列(行がケース,列が変数)
ソース
インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/Cochran_Q_test.R", encoding="euc-jp")
# コクランの Q 検定
Cochran.Q.test <- function(x) # データ行列
{
data.name <- deparse(substitute(x))
method <- "コクランの Q 検定"
x <- subset(x, complete.cases(x)) # 欠損値を持つケースを除く
k <- ncol(x) # 変数の個数(列数)
g <- colSums(x) # 列和
l <- rowSums(x) # 行和
Q <- ((k-1)*(k*sum(g^2)-sum(g)^2))/(k*sum(l)-sum(l^2)) # 検定統計量
df <- k-1 # 自由度
p <- pchisq(Q, df, lower.tail=FALSE) # P 値
names(Q) <- "X-squared"
names(df) <- "df"
return(structure(list(statistic=Q, parameter=df, p.value=p,
method=method, data.name=data.name), class="htest"))
}
使用例
x <- matrix(c( # 10ケース,3変数のデータ行列例(ファイルから読んでも良い)
0, 0, 0,
0, 0, 0,
0, 0, 0,
0, 0, 1,
0, 1, 1,
0, 1, 1,
0, 1, 1,
1, 1, 1,
1, 1, 1,
1, 1, 1
), byrow=TRUE, ncol=3)
Cochran.Q.test(x)
出力結果例
コクランの Q 検定
data: x
X-squared = 6.5, df = 2, p-value = 0.03877
解説ページ
直前のページへ戻る
E-mail to Shigenobu AOKI