群馬大学 | 医学部 | サイトトップ | 医学情報処理演習

医学情報処理演習第7回「一元配置分散分析と多重比較」課題課題解答例

2009年12月7日

課題

これまでの課題と同じく,sample02.txtを用いる。変数AGEは年齢を示し,変数BEDNETは蚊帳の利用状況を示すものである。下枠内のコードにより,データを読み込んで,数値で入力されているBEDNETを,カテゴリ内容を示す要因型変数BEDNETCに変換する段階まで完了している。

この続きとして,蚊帳の利用状況が異なる人々の間に年齢差があるかどうか,箱ひげ図を描いてからWelchの方法による一元配置分散分析を行うRコードを追加し,実行して検討せよ。余裕があれば,どの群とどの群の間で違いがあるか,Holmの方法により検定の多重性を調整した上で検討せよ。

なお,検定の有意水準は5%とし,検定を実行する前に図示もして,図と検定結果を参照して考察を書くものとする。学籍番号・氏名とともに,下のフォームにRのコードと考察を貼り付けて送信すること。

解答例

必要なことをすべて行うRのコードを以下に示す。

dat <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt")
dat$BEDNETC <- factor(dat$BEDNET,labels=c("毎日利用","時々利用","利用しない","持っていない"))
attach(dat)
png("it2009-07.png",width=800,height=320)
layout(t(1:2))
boxplot(AGE ~ BEDNETC)
stripchart(AGE ~ BEDNETC, method="jitter", vert=T)
mx <- tapply(AGE,BEDNETC,mean)
sx <- tapply(AGE,BEDNETC,sd)
ix <- 1:4+0.1
points(ix,mx,pch=18)
arrows(ix,mx-sx,ix,mx+sx,code=3,angle=90)
dev.off()
oneway.test(AGE ~ BEDNETC)
pairwise.t.test(AGE,BEDNETC,p.adjust.method="holm")
detach(dat)

既に与えられている最初の2行は,データを読み込んで要因型変数BEDNETCを作るだけである。3行目でattach(dat)により読み込んだデータフレームdatの使用を宣言し,最下行(16行目)のdetach(dat)までの間,一々dat$をつけなくても,このデータフレームに含まれている変数を指定できるようにしている。

4行目でpng形式のグラフィックデバイスを横800ドット,縦320ドットで開き,5行目でそのデバイス画面を左右2分割する。6行目でまず左画面に箱ひげ図を描かせ,7行目から12行目でストリップチャートと上下に不偏標準偏差のエラーバーがついた平均値を描かせている。13行目でグラフィックデバイスを閉じると,下図ができあがる。

第7回課題の図

14行目のoneway.test()は,Welchの拡張による一元配置分散分析を行っている。結果は次の通りである。

    One-way analysis of means (not assuming equal variances)

data:  AGE and BEDNETC 
F = 3.7516, num df = 3.000, denom df = 20.484, p-value = 0.02703

有意確率が0.027と5%より小さいので,蚊帳の使い方の年齢への影響は有意水準5%で統計学的に有意であるといえる。次に蚊帳の使い方が異なるどの組み合わせで年齢に差があるのか調べるための対比較を行っている。15行目のpairwise.t.test()はHolmの方法による多重比較をするための命令である。結果は次の通りである。

    Pairwise comparisons using t tests with pooled SD 

data:  AGE and BEDNETC 

             毎日利用 時々利用 利用しない
時々利用     0.175    -        -         
利用しない   0.732    0.094    -         
持っていない 0.247    0.732    0.130     

P value adjustment method: holm 

この結果をみると,対比較では有意差のある組み合わせはないことがわかる。つまり,蚊帳の使い方は年齢に有意に影響を与えているが,どの使い方とどの使い方の間で違いがあるのかは,このデータからでは示されなかった(はっきりしなかった)といえる。

(以下余談)これはTukeyHSD()でやっても同じ結果であり,またノンパラメトリックな分析をしても,クラスカル=ウォリスの検定では有意な効果が認められるのに,ウィルコクソンの順位和検定をHolmの方法で調整した分析によってどの2群間で年齢に違いがあるのかは示されなかった。おそらくサンプルサイズが足りないのであろう。