128  練習問題 出題

ここでは、data/ifelse_casewhen.xlsxファイルを利用しましょう。

この練習問題、かなり難易度高いですが、ここまで解説した関数の集大成ですので是非、まずご自身で取り組んでから解答を確認してください。

データには身長(cm)、体重(kg)、血圧(収縮期/拡張期)飲酒有無(0なし、1あり)、喫煙有無(0なし、1あり)の列が含まれています。(データは私が適当にでっち上げたものなので、現実のものではありません。また、わざと入力ミスされているデータがありますのでこれまでに学んだ関数を駆使してデータをキレイにしつつ、課題を解いていってください。)

課題1:

身長と体重を利用して、BMIを計算してその結果をbmiという名前の列に保存してください。

課題2:

bmi列の値を利用して、if_else関数を使って、BMIが25以上であれば1、25未満であれば0となる列、obese、を作成してください。

課題3:

血圧の表示が”120/80”のように入力されています。これを、sbpとdbpの二つの変数に分割してください。

課題4:

課題3で作成した変数、sbp、dbpを利用して、

sbpが120未満かつdbpが80未満であれば「至適血圧」 sbpが130未満かつdbp85未満であれば「正常血圧」 sbpが140未満あるいはdbp90未満であれば「正常高値血圧」 sbpが160未満あるいはdbp100未満であれば「1度高血圧」 sbpが180未満あるいはdbp110未満であれば「2度高血圧」 sbpが180以上あるいはdbp110以上であれば「3度高血圧」

とした因子型の列を作成してください。

課題5:

課題1から課題4までで作成した変数を利用して、高血圧、肥満、飲酒、喫煙のリスクの個数を計算したriskという名前の列を作成してください。

(尚、ここでは、高血圧を1度から3度高血圧、肥満はBMI25以上とします)