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

医学情報処理演習第9回「計数データと比率の解析(1)」課題解答例

2009年12月16日

課題

これまでの課題と同じく,sample02.txtを用いる。下のフォームに最初から書かれているコードは,データを読み込んで,男性の人数をMalesTotalという変数に付値し,男性のうち「ほぼ毎日」蚊帳を使っている人数をMalesNetUserという変数に付値するコードである。ここで,変数SEXは性別を示し,"M"が男性,"F"が女性を意味する。変数BEDNETは蚊帳の使い方を示し,1が「ほぼ毎日」,2が「時々」,3が「ほとんど使わない」,4が「持っていない」を意味する。

必要なコードを追加し,男女間で,蚊帳を「ほぼ毎日使う」割合に差があるか検定せよ(2群間の比率の差の検定)。検定の有意水準は5%とし,検定を実行する前に図示もして,図と検定結果を参照して考察を書くものとする。学籍番号・氏名とともに,下のフォームにRのコードと考察を貼り付けて送信すること。

解答例

コードを以下に示す。

dat <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt")
MalesTotal <- sum(dat$SEX=="M")
MalesNetUser <- sum(dat$BEDNET[dat$SEX=="M"]==1)
FemalesTotal <- sum(dat$SEX=="F")
FemalesNetUser <- sum(dat$BEDNET[dat$SEX=="F"]==1)
(NetUser <- c(MalesNetUser,FemalesNetUser))
(Total <- c(MalesTotal,FemalesTotal))
names(Total) <- c("Males","Females")
prop.test(NetUser,Total)
barplot(NetUser/Total,main="ソロモン諸島で蚊帳を「ほぼ毎日使う」割合の男女比較", col=c("blue","pink"),ylim=c(0,0.4))

次の図が描かれ,枠内の結果が得られる。

ソロモン諸島蚊帳利用割合棒グラフ
    2-sample test for equality of proportions with continuity correction

data:  NetUser out of Total 
X-squared = 4.5017, df = 1, p-value = 0.03386
alternative hypothesis: two.sided 
95 percent confidence interval:
 0.05477823 0.50815084 
sample estimates:
    prop 1     prop 2 
0.36842105 0.08695652 

蚊帳を「ほぼ毎日使う」割合は,男性で約37%女性で8.7%であり,その差の95%信頼区間は5.5ポイントから51ポイントであることがわかる。有意確率が0.03386なので,男女間で蚊帳を「ほぼ毎日使う」割合に差がないという帰無仮説は有意水準5%で棄却され,男女間で統計学的に有意な差があるといえる。

別解

実は,"=="とsum()関数を使うよりも,カテゴリ別の人数を求めるにはtable()関数を使う方が遥かに簡単である。table()を使う場合のコードは以下の通り。

dat <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt")
Total <- table(dat$SEX)
NetUser <- table(dat$SEX[dat$BEDNET==1])
prop.test(NetUser,Total)
barplot(NetUser/Total,main="ソロモン諸島で蚊帳を「ほぼ毎日使う」割合の男女比較", col=c("blue","pink"),ylim=c(0,0.4))