【R講座】コクランのQ検定の方法と実践

R

この記事では、コクランのQ検定について紹介しています。

コクランのQ検定とは

コクランのQ検定は、対応のある名義尺度データの群間の差を評価するための検定方法です。

前提設定

  • 対応の有無:対応あり(例:同じ作物に対する複数の農薬の効果の比較)
  • 正規性:必要なし
  • 等分散性:必要なし
  • 群数:2群以上
  • データ尺度:名義尺度(例:病害あり/なし)

仮説の設定

  • 帰無仮説(H0処理の効果に差はない
  • 対立仮説(H1):処理の効果に差がある

RでコクランのQ検定

RでコクランのQ検定を実行する方法を紹介します。

関数と引数オプション

コクランのQ検定を実行するために使用する関数は CochranQTest() です。この関数は、次のような引数を持ちます。

CochranQTest(y, ...)

## デフォルトのS3メソッド
CochranQTest(y, groups, blocks, ...)

## 'formula'クラスのS3メソッド
CochranQTest(formula, data, subset, na.action, ...)
  • y: 数値ベクトルのデータ値、またはデータ行列。
  • groups: yがベクトルである場合、対応する要素のグループを指定するベクトル。yが行列の場合は無視されます。ファクターオブジェクトでない場合は、ファクターに変換されます。
  • blocks: yがベクトルである場合、対応する要素のブロックを指定するベクトル。yが行列の場合は無視されます。ファクターオブジェクトでない場合は、ファクターに変換されます。
  • formula: y ~ groups | blocksの形式の数式。
  • data: 数式内の変数を含むオプションの行列またはデータフレーム(または類似のもの:model.frameを参照)。デフォルトでは、変数はenvironment(formula)から取得されます。
  • subset: 使用する観測値のサブセットを指定するオプションのベクトル。
  • na.action: データにNAが含まれている場合に何をするべきかを示す関数。デフォルトはgetOption("na.action")

コード例と結果の見方

# 必要なパッケージをインストールおよびロード
if (!require("DescTools")) install.packages("DescTools")
library(DescTools)

# サンプルデータの作成
# 異なる農薬使用前後の病害有無データ
data <- data.frame(
  Subject = factor(rep(1:10, times = 3)),
  Treatment = factor(rep(c("A", "B", "C"), each = 10)),
  Response = factor(c("No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes",
                      "No", "Yes", "No", "Yes", "Yes", "No", "Yes", "No", "Yes", "No",
                      "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No", "Yes", "No"))
)

# コクランのQ検定の実行
CochranQTest(Response ~ Treatment | Subject, data = data)
# コクランのQ検定結果
Cochran's Q test

data:  data
Q = 0, df = 2, p-value = 1

この結果から、p値が1であるため、通常の有意水準(例えば0.05)では帰無仮説を棄却できません。つまり、統計的な差は見られないと結論できます。


この記事はコクランのQ検定について紹介しました。

次回はピアソンの相関係数について紹介します。

この記事が少しでもお役に立てたら嬉しいです。

プロフィール
この記事を書いた人

農学の博士前期課程を修了した研究者の卵。
植物生理と環境調節をテーマに研究しています。

Masaをフォローする
R統計
Masaをフォローする
タイトルとURLをコピーしました