群馬大学 | 医学部 | サイトトップ | 医学情報処理演習
http://phi.med.gunma-u.ac.jp/medstat/sample02.txtは,第1回に入力してもらったデータを元にして修正・追加した後,成人の欠損がない人に限定し,未発表データであることと個人情報保護のため適当に改変し,変数も減らした架空のデータである(が,まったくデタラメというわけでもない)。変数の意味は下表の通りである。
変数名 | 意味 |
---|---|
AGE | 年齢 |
SEX | 性別(F:女性,M:男性) |
BMI | Body Mass Index(kg単位の体重をm単位の身長の2乗で除した値) |
PH | 尿のpH |
SG | 尿比重 |
MARITAL | 婚姻状態(Married:既婚,Single:未婚,Divorced:離婚,Widowed:寡婦/寡夫) |
FEVER | 発熱経験(1:3日以内,2:1週間以内,3:1ヶ月以内,4:それ以前) |
CQ | クロロキン服用経験(1:3日以内,2:1週間以内,3:それ以前,4:飲んだことがない) |
BEDNET | 蚊帳使用状況(1:毎日使用,2:時々使用,3:使ってない,4:持っていない) |
BSUGAR | 随時血糖(mg/dL) |
HB | ヘモグロビン(g/dL) |
SBP | 収縮期血圧(mmHg)。2回の測定値の平均値 |
DBP | 拡張期血圧(mmHg)。2回の測定値の平均値 |
HR | 心拍数(拍/分)。2回の測定値の平均値 |
このデータをRに読み込み,次の2種類の図示をせよ。
解答は,(1)(2)の図示をするコードを下の解答フォーム内に追記(コピーペースト)して,送信(send)ボタンをクリックすることで行われる。学籍番号と氏名を忘れないこと。
dat <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt") attach(dat) windowsFonts(JP1=windowsFont("MS Gothic"),JP2=windowsFont("MS Mincho")) par(family="JP1") layout(t(1:2)) hist(BMI,right=F,main="ソロモン諸島住民のBMIの分布") rg <- c("red","green") plot(AGE,SBP,pch=paste(SEX),col=rg[as.integer(SEX)], xlab="年齢(歳)",ylab="収縮期血圧 (mmHg)", main="ソロモン諸島住民の年齢と収縮期血圧の\n 関係(男女別)") legend("bottomright",pch=names(table(SEX)),col=rg,legend=c("女性","男性")) detach(dat)
最小限必要なのは,1行目のデータの読み込み,2行目のattach()と12行目のdetach(),6行目のhist()でBMIのヒストグラムを書くこと,8行目からのplot()で年齢と収縮期血圧の関係を示す散布図を描くことである。
ただし解答例では男女別にプロットの記号と色を変えているので(講義中には示せなかったが,プロット記号を任意の色に変えるには,このようにする),plot()の中が複雑になっている。最低限ならば,plot(AGE,SBP)とするだけで,横軸をAGE,縦軸をSBPとする散布図は描ける。同様に,hist()の中も,最低限ならば変数名だけ,すなわちhist(BMI)でよい。また,attach()〜detach()で囲まずに,関数内で一々"dat$"を変数の頭につける指定方法でも構わない。3行目と4行目は,講義中にも触れたが,メタファイルにコピーした後でPowerPointに貼り付けて「グループ解除」して編集するときなどに日本語が文字化けしないようにするための「おまじない」である。