Python による Tukey-Kramer test

statsmodels.stats.multicomp.pairwise_tukeyhsd() コマンドで Tukey-Kramer test を行う。p 値も示す。

Python を起動し、必要なライブラリを import する。

import pandas as pd
from statsmodels.stats.multicomp import pairwise_tukeyhsd

通常は Excel 等で作成した CSV ファイルを pandas に読み込んで分析する。しかし、ここでは便宜的に以下の簡単なデータフレームを作成し、data という変数に格納しておく。

data = pd.DataFrame({"デバイス":["デバイス A","デバイス B","デバイス A","デバイス A","デバイス C","デバイス C","デバイス B","デバイス C","デバイス A","デバイス A",], "出血量":[30,20,5,5,100,80,10,60,10,25]})

data の内容を確認する。

data

デバイス間で出血量の平均に差があるかどうかを statsmodels.stats.multicomp.pairwise_tukeyhsd() コマンドで検定する。結果を表示するのに print() コマンドだけでは p値が示されないが、summary() コマンドを使用することで p 値も示される。

pairwise_tukeyhsd(data["出血量"], data["デバイス"]).summary() #95%信頼区間
pairwise_tukeyhsd(data["出血量"], data["デバイス"], alpha = 0.01).summary() #99%信頼区間

計算結果は、R での結果とは微妙に異なる