マクネマー検定 Last modified: Aug 19, 2009
目的
McNemar 検定を行う。
対応のある測定値は順序尺度以上であれば 2 値データでなくてもよい。
(McNemar 検定の拡張であり,符号検定と同じ検定になる)
使用法
McNemar(tbl)
引数
tbl クロス集計表
ソース
インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/McNemar.R", encoding="euc-jp")
# マクネマー検定
McNemar <- function(tbl) # 分割表
{
data.name <- deparse(substitute(tbl))
method <- "拡張されたマクネマー検定(二項検定に帰着)"
n1 <- sum(tbl[lower.tri(tbl)]) # x の方が大きいデータ対の数
n2 <- sum(tbl[upper.tri(tbl)]) # y の方が大きいデータ対の数
p <- binom.test(c(n1, n2))$p.value # 二項検定の両側確率
names(n1) <- "n1"
names(n2) <- "n2"
return(structure(list(statistic=n1, parameter=n2, p.value=p,
method=method, data.name=data.name), class="htest"))
}
使用例
tbl <- matrix(c( # 分割表
11, 3, 2,
4, 9, 5,
1, 2, 13
), ncol=3, byrow=TRUE)
McNemar(tbl)
出力結果例
拡張されたマクネマー検定(二項検定に帰着)
data: tbl
n1 = 7, n2 = 10, p-value = 0.6291
n1 x の測定値が y より大きいデータ対の数
n2 x の測定値が y より小さいデータ対の数
p-value P 値(二項検定による正確な両側確率)
注
R には mcnemar.test という関数があり,やはりマクネマー検定の拡張を定義している。
しかし,これは上に定義したのとは別の拡張である。
解説ページ
直前のページへ戻る
E-mail to Shigenobu AOKI