群馬大学 | 医学部 | サイトトップ | 医学情報処理演習
前回も参照した通り,http://phi.med.gunma-u.ac.jp/medstat/sample02.txtは,ソロモン諸島の首都のとある学校で実施した健診結果を,昨年の実習で入力してもらった後にエラーを訂正したタブ区切りテキスト形式データである。
このファイルをインターネットから直接Rのデータフレームxに読み込み,婚姻状態(変数名はMARITAL)別に,Body Mass Index(変数名はBMI)の記述統計量(サンプルサイズ,平均値,標準偏差,第1四分位,中央値,第3四分位)を求めるコードは以下のように書ける。ただし,わざとBoxで穴をあけてある。
descstat <- function(X) {
XX <- X[!is.na(X)] # removing missing values
Q5S <- (XX)
res <- c((XX), (XX), sd(XX), Q5S[2], Q5S[3], Q5S[4])
names(res) <- c("N","Mean","SD","Q1","Median","Q3")
return(res) }
x <- ("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt")
tapply(x$BMI,x$MARITAL,descstat)
それぞれのBoxに入る正しい関数名を解答せよ。また,求めた記述統計量からいえることを文章で記せ。さらに,もしあれば感想・要望・質問などとともに下のフォームから送信せよ。学籍番号と氏名の入力を忘れないこと。
(The program listed above is to calculate descriptive statistics (sample size, mean, unbiased standard deviation, 1st and 3rd quartiles, and median) of body mass index (BMI) for married and single subjects, separately. Please fill appropriate functions in the boxes. In addition, please explain what the results mean.)
正しいコードは下記の通り。#以降は注釈である。
descstat <- function(X) {
XX <- X[!is.na(X)] # removing missing values(欠損値を除去)
Q5S <- fivenum(XX) # assign the five numbers for descriptive statistics to Q5S(五数要約値を計算してQ5Sに付値)
res <- c(length(XX), mean(XX), sd(XX), Q5S[2], Q5S[3], Q5S[4]) # assign the result vector to res(欲しい結果を数値ベクトルにしてresに付値)
names(res) <- c("N","Mean","SD","Q1","Median","Q3") # assign the meaningful names to each elements of the result vector(結果が付値されたベクトルresの各要素に適切な名前を付ける)
return(res) } # return the res as the return-value of this function "descstat"(resを関数descstatの戻り値として返す)
x <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/sample02.txt") # read the tab-delimited text data into data.frame "x" via internet(web上のタブ区切りテキストデータをデータフレームxに読み込む)
tapply(x$BMI,x$MARITAL,descstat) # calculate descstat(x$BMI) for each category of x$MARITAL, separately(x$MARITALのカテゴリごとにdescstat(x$BMI)を計算する)
項目 | 解答例 |
---|---|
finvenum | |
length | |
mean | |
read.delim | |
結果からいえること(What the result means) | Divorced(離別者)は2人,Widowed(死別者)は1人しかいないので,それらの記述統計量に意味は無い。Married(既婚者)とSingle(独身者)については,分布の位置を示す平均値や中央値は既婚者の方が独身者より4近く大きいことと,分布の広がりを示す不偏標準偏差や四分位範囲も既婚者の方が独身者より大きいことが顕著である。この特徴は,既婚者の中の肥満者の存在に起因していると考えられる。 |