研究室に配属されたばかりの新入生や、これからRで統計分析を始めたいと思っている方へ向けて、【R講座】では、RとRStudioの基本的な使い方から統計手法の選び方、基本的なデータ分析方法までを解説しています。
特にRが初めての方でも安心して学べるように、難しいコマンドやコードは少なめで、RStudioのクリック操作を中心に進めていくので、プログラミングの経験がなくても大丈夫です。
実際のコードを交えながら進めるので、これからの研究やデータ分析に、ぜひ役立ててください!
R講座の記事一覧
「R講座」の記事一覧です。
この記事では、マクネマー検定について紹介しています。
マクネマー検定とは
マクネマー検定は、対応のある名義尺度データの差を評価するための検定方法です。例えば、ある農薬の効果を評価する際に、同じ作物に対して農薬使用前後の病害発生率を比較するのに使用できます。
前提設定
- 対応の有無:対応あり(例:同じ作物の農薬使用前後の比較)
- 正規性:必要なし
- 等分散性:必要なし
- 群数:2群
- データ尺度:名義尺度(例:病害あり/なし)
仮説の設定
- 帰無仮説(H0):計測の前後で病害発生率に差はない。
- 対立仮説(H1):計測の前後で病害発生率に差がある。
Rでマクネマー検定
Rでマクネマー検定を実行する方法を紹介します。
関数と引数オプション
マクネマー検定を実行するために使用する関数は mcnemar.test()
です。この関数は、2x2のクロス集計表を入力として受け取ります。
# mcnemar.test(x, y = NULL, correct = TRUE)
- x: 2次元のクロス集計表を含む行列形式、または factor オブジェクトを指定します。
- y: factor オブジェクトを指定します。x が行列の場合、この引数は無視されます。
- correct: 検定統計量を計算する際に連続性補正を適用するかを示す論理値です。補正を適用する場合は
TRUE
、適用しない場合はFALSE
を指定します。
コード例と結果の見方
# サンプルデータの作成
# 農薬使用前後の病害有無データ
data <- data.frame(
Time = factor(rep(c("Before", "After"), each = 14)),
Status = factor(c("No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes",
"No", "No", "No", "Yes", "Yes", "Yes", "No", "Yes", "No", "Yes", "No", "No", "Yes", "Yes"))
)
# クロス集計表の作成
table <- table(data$Time, data$Status)
# マクネマー検定の実行
mcnemar.test(table)
# マクネマー検定結果
McNemar's Chi-squared test with continuity correction
data: data
McNemar's chi-squared = 0, df = 1, p-value = 1
この結果から、p値が1であるため、通常の有意水準(例えば0.05)では帰無仮説を棄却できません。つまり、農薬使用前後で病害発生率に統計的な差は見られなかったと結論できます。
この記事はマクネマー検定について紹介しました。
次回はコクランのQ検定の方法について紹介します。