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

医学情報処理演習:2009年度第1回課題解答例

課題

講義中配布する各自1人分のデータを,データ入力フォーム例にある2009年度第1回課題入力フォームから入力せよ。

全員の入力が終了した後に,http://phi.med.gunma-u.ac.jp/medstat/dex/sample.txtにタブ区切りテキスト形式のデータができるので,そのファイルをRで読み込んで(ファイルとして読み込んでもいいし,ブラウザ上ですべてを選択コピーした後に,read.delim("clipboard")としても読める),str()関数により,データファイルに含まれているケース数(人数),変数名PID,SEX,JOB,GLUCOSE,HBについて変数の型を調べ,下のフォームから送信せよ。学籍番号と氏名の入力を忘れないこと。

解答例

データがうまく作られなかったため,出題意図とは異なる解が出てしまったことをお詫びする。Rで実行するべきコードの例を示す(注:ただし,既にデータを消してしまったので,この通りに打っても実行できない)。

> dat <- read.delim("http://phi.med.gunma-u.ac.jp/medstat/dex/sample.txt")
> str(dat)

サンプルサイズ
str(dat)の実行結果の1行目に表示される,"'data.frame' : ?? obs. of ?? variables:"のうち,"?? obs."の数字がサンプルサイズを示す。Aクラスではサンプルサイズ61,Bクラスではサンプルサイズ115となった人が多かったが,より小さい数字が出た人は実行のタイミングが早すぎたのであろう。実在する人数より多かったのは,2回以上「データ登録」してしまった人が何人かいたためである。
変数PIDの型
本来は"$ PID : int ..."と表示されるはずで,整数型となるはずであった。しかし数字を2バイト文字で入力した人がいたために,"$ PID : Factor w/ ?? levels ..."と表示され,要因型となった。ほとんどのデータが数値でも,1つでも数値でないデータが混ざっていると,数字を文字扱いすることはできるが文字を数字扱いはできないために,すべて文字であるとみなされ,要因型になってしまうことに注意されたい。
変数SEXの型
これは元々"$ SEX : Factor w/ 2 levels"と表示される,2つの水準をもつ要因型である。したがって,解答はfactorまたは要因型でよい。
変数JOBの型
これはFARMER,HOUSEWIFEなど様々な文字による解答が入力されている欄で,read.delim()関数で文字列を読み込んだ場合は自動的に要因型とみなされるので,"$ JOB : Factor w/ ?? levels ..."となる。解答はfactorまたは要因型である。
変数GLUCOSEの型及び変数HBの型
これはどちらも,本来は"$ GLUCOSE : num ..."及び"$ HB : num ..."と表示されるはずで,数値型となるはずの変数である。しかし,全角(2バイトコード)でデータ入力した受講者がいたために,データが文字列扱いされてしまい,"$ GLUCOSE : Factor w/ ?? levels ..."及び"$ HB : Factor w/ ?? levels ..."となる。したがって,解答はどちらも要因型である。

リンクと引用について