scipy.stats.fisher_exact() コマンドで Fisher exact test を行う。また、scipy.stats.chi2_contingency() コマンドでカイ2乗検定を行う。
Python を起動し、pandas と scipy.stats を import する。
import pandas as pd from scipy import stats
通常は Excel 等で作成した CSV ファイルを pandas に読み込んで分析する。しかし、ここでは便宜的に以下の簡単なデータフレームを作成し、data という変数に格納しておく。
data = pd.DataFrame({"術者":["太郎","太郎","花子","花子"], "手術方法":["内視鏡","開腹","内視鏡","開腹"], "回数":[60,5,20,40]})
data の内容を確認する。
data
pandas.pivot_table() コマンドで、data を2×2クロス集計表にし、table という変数に格納する(別記事)。
table = pd.pivot_table(data, values = "回数", index = "術者", columns = "手術方法", aggfunc = "sum")
table の内容を確認する。
table
scipy.stats.fisher_exact() コマンド、scipy.stats.chi2_contingency() コマンドで術者によって手術方法(内視鏡か開腹か)に偏りがあるかどうかを検定する。
stats.fisher_exact(table) #Fisher exact test stats.chi2_contingency(table) #カイ2乗検定(イエーツ補正あり)