データ分析&グラフ作成6 | 眼科医と眼科専門MRのためのデータ分析あれこれ!!

眼科医と眼科専門MRのためのデータ分析あれこれ!!

かれこれ20数年の間、眼科領域専門のデータ分析に携わってきた経験の備忘録です。
一般的なデータ分析の内容も書きますが、眼科にこだわって書いていきます。

前回は2群間(PGとCAI)で眼圧の変化量に違いがあるかどうかを分析しました。
今回は3群以上の比較に用いられる分散分析(ANOVA)について書きます。
前回までは2群のData01を使いましたが、ANOVAの説明用に3群のデータ(Data02)を
プログラムで作ってみましょう。
今回作成するデータは低濃度(L)、中濃度(M)、高濃度(H)の3種類の点眼剤を
別々の患者それぞれ10人に4週間投与し、投与前と4週後の眼圧とその変化量
を記録したものとお考えください。
プログラムは下記の通りで、過去ブログ(データ分析&グラフ作成1)の手順通りに
作業をしていただければData02が分析可能になります。

#Data02
n1 <- 10
n2 <- 10
n3 <- 10
set.seed(805)
ID_1 <- round(rnorm(n1, mean=210000, sd=37000))
ID_2 <- round(rnorm(n2, mean=310000, sd=37000))
ID_3 <- round(rnorm(n3, mean=410000, sd=37000))
ID <- c(ID_1 , ID_2 , ID_3)
Group <- c(rep("L",n1), rep("M",n2), rep("H",n3))
IOP_1 <- round(rnorm(n1, mean=25, sd=2))
IOP_2 <- round(rnorm(n2, mean=25, sd=2))
IOP_3 <- round(rnorm(n3, mean=25, sd=2))
IOP_0W <- c(IOP_1 , IOP_2 , IOP_3)
IOP_4 <- round(rnorm(n1, mean=21, sd=3))
IOP_5 <- round(rnorm(n2, mean=17, sd=3))
IOP_6 <- round(rnorm(n3, mean=14, sd=4))
IOP_4W <- c(IOP_4 , IOP_5 , IOP_6)
Data02 <- data.frame(ID,Group,IOP_0W,IOP_4W)
Data02$IOP_dif <- Data02$IOP_4W - Data02$IOP_0W
Data02$Group <- factor(Data02$Group, levels=c('L','M','H'))

Data02を「尺度」と「対応」の観点からデータを見ると
・眼圧→計量尺度
・L、M、Hの3群間のデータ→対応のないデータ
となっています。
このような3群の対応のない計量尺度データを比較分析する場合には「分散分析(ANOVA)」を使用します。
それではData02をEZRで分析してみましょう。

Data02が分析可能になっている状態でEZRのメニューから「統計解析」を選択し、
「連続変数の解析」→「3群以上の間の平均値の比較(一元配置分散分析one-way ANOVA)」を選択します。


下記の変数選択画面において、比較すべき「目的変数」は「IOP_dif」を選択、
「比較する群」では「Group」を選択します。
「グラフ」は「棒」、「等分散と考えますか?」は「はい(一元配置分散分析)」のままで
「OK」をクリックします。
 注:t検定のところ(データ分析&グラフ作成5)でも説明しましたが、等分散の部分は
等分散か否か検討せずに使える「いいえ(Welch検定)」を選ぶという考えもありです。
「いいえ(Welch検定)」を選ぶとメニューにも書かれているように、次回に説明したい
多重比較について説明できなくなりますので、都合上「はい(一元配置分散分析)」を
選択させていただいています。


出力の部分を見ていただくと、下記の内容が出力されています。




上記の結果よりP値は2.87e-06(2.87×10のマイナス6乗)と有意であり
すくなくとも'L','M','H'の3群間のどこかに有意な違いがあるということが推定されました。
3群間のどこかに有意な違いがあると言われると、どの群間に差があるのかを
知りたくなるのが人情というものですよね?
それを調べるのが次回説明する多重比較法(Tukey法、Dunnett法)です。