群馬大学 | 医学部 | サイトトップ | 医学情報処理演習
第7回に出てきた関数と文の主なものはこちらを参照されたい。
http://phi.med.gunma-u.ac.jp/medstat/sample02.txtは,ソロモン諸島の首都のとある学校で実施した健診結果を,昨年の実習で入力してもらった後にエラーを訂正したタブ区切りテキスト形式データである。このデータを読み込んで,年齢を(15歳以上25歳未満),(25歳以上35歳未満),(35歳以上70歳未満)に階級化し(変数名AC),年齢階級によって拡張期血圧(DBP)の平均値に差が無いという帰無仮説を,有意水準5%で検定した結果,5%水準で統計学的に有意な差がみられたので,どの階級とどの階級の間に差があるのかについて検定の多重性をHolmの方法で調整した多重比較をした。以上を実行するコードと出力結果とその解釈を下に示す。
(http://phi.med.gunma-u.ac.jp/medstat/sample02.txt is the tab-delimited text file, which is the result of health check in the capital city of Solomon Islands. We have read this data to R, categorized age into [15,25), [25,35), [35,70) as variable "AC" and test the null hypothesis that there is no significant difference of mean diastric blood pressure (DBP) among these age classes. Then we found the statistically significant difference (as of significance level being 0.05), so that we conducted multiple comparison with Holm's method between all combinations of age classes. The code and result with its interpretation are shown below.)
学籍番号・氏名とともに,下のフォームと解釈文を穴埋め[Box Aには論理値(TRUEまたはFALSE),BとDとEにその次の( )内から適切な方を選択して数字で入力,Cに適切な数値を入力]して送信せよ。
(Please write the registry number and name, fill the boxes A by adequate logical value (TRUE or FALSE), and fill the boxes B, D and E by the number 1 or 2 or 3, selecting from the following candidates with parenthesis, and fill the box C by the adequate figures.)
コードは以下の通り。
(The code is shown below.)
x <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt") # read data into x
x$AC <- cut(x$AGE, c(15,25,35,70), right=) # make an age class variable AC in data.frame x
Mx <- tapply(x$DBP,x$AC,mean) # Calculate means of DBP by AC
Sx <- tapply(x$DBP,x$AC,sd) # Calculate unbiased standard deviations of DBP by AC
Ix <- c(1.1, 2.1, 3.1)
stripchart(DBP ~ AC, data=x, method="jitter", vert=TRUE) # Draw stripcharts of DBP by AC
points(Ix, Mx, pch=18, cex=2) # Add the means of DBP for each AC, black diamond, double size
arrows(Ix, Mx-Sx, Ix, Mx+Sx, angle=90, code=3) # Add error bars of DBP for each AC
bartlett.test(DBP ~ AC, data=x) # Test the equal variances hypothesis among ACs by Bartlett's test
oneway.test(DBP ~ AC, data=x) # Test the equal means hypothesis among ACs by Welch's one-way ANOVA
pairwise.t.test(x$DBP,x$AC) # Conducts multiple comparison of mean DBPs among all pairs
年齢階級別の拡張期血圧のストリップチャートが描画された後,分散に差が無いという帰無仮説についてバートレットの検定,平均値に差が無いという帰無仮説についてWelchの拡張による一元配置分散分析,年齢階級2つずつのすべての組み合わせについて検定の多重性を調整したt検定が順に実施され,結果が表示される。
(The stripcharts of DBP by AC are drawn, then Bartlett's test for equal variances is conducted, then Welch's one-way ANOVA is conducted, at last the pairwise comparisons using t-test with pooled SD and the adjusted p-value by the method of Holm are conducted.)
グラフを見ると,年齢が(1. 高い|2. 低い)階級ほど拡張期血圧の値が高い傾向があるようにみえる。データのばらつき具合には,あまり差が無いようにみえる。バートレットの検定の結果をみると,p-valueはであり,5%水準で有意ではない。Welchの拡張による一元配置分散分析の結果は,p-valueが0.01271と0.05より小さいので,有意水準5%で,拡張期血圧の平均値には年齢階級間で統計学的に有意な差が(1. ある|2. ない)。Holmの方法で調整した多重比較の結果を次に示す。
(The stripcharts shows that the (1. higher | 2. lower) age classes tend to have higher DBPs, where the variances looks similar. As the result of Bartlett's test, p-value was , which means non-significant difference among variances at 5% level. As the result of Welch's one-way ANOVA, p-value was 0.01271, which is less than 0.05, so that there (1. was | 2. was not) statistically significant difference of means of DBPs among 3 ACs. The result of multiple comparison adjusted by Holm's method is shown below.)
Pairwise comparisons using t tests with pooled SD data: x$DBP and x$AC [15,25) [25,35) [25,35) 0.4358 - [35,70) 0.0077 0.0562
結局,有意水準5%で統計学的に有意な差があるのは,(1. 15歳以上25歳未満と25歳以上35歳未満の間 | 2. 25歳以上35歳未満と35歳以上70歳未満の間 | 3. 15歳以上25歳未満と35歳以上70歳未満の間)だけである。
(Consequently, statistically significant difference at 5% level was only found between (1. [15,25) and [25,35) | 2. [25,35) and [35,70) | 3. [15,25) and [35,70)).)