Rで何かをしたり、読書をするブログ

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

UCI の National Poll on Healthy Aging (NPHA) のデータの分析 3 - ダミー変数の作成の続き

(Bing Image Creator で生成: プロンプト: Close up of Morning Glory flowers, flower colors are pink and violet, background is blue-sky and gentle sun shine, photo.)

 

www.crosshyou.info

の続きです。前回に引き続き、残りの変数もダミー変数にしていきます。

まずは、EMP: Employment です。 -1が回答拒否、1 がフルタイム雇用、2 がパートタイム雇用、3 がリタイア、4 が調査時点で働いていない(失業中?)です。

3 のリタイアが大半です。EMP2, EMP3, EMP4 のダミー変数を作成します。

次は、STR: Stress_Keeps_Patient_from_Sleeping(ストレスが睡眠に与える影響)です。0なら影響なし、1ならありです。

約4分の1の人が影響有り、です。STRはもとからダミー変数なのでこのままです。

次は、MED: Medication_Keeps_Patient_from_Sleeping(医療行為が睡眠に与える影響)です。0なら影響なし、1ならありです。

94%の人が影響なしです。

次は、PAI: Pain_Keeps_Patient_from_Sleeping(痛みが睡眠に与える影響)です。

23%の人が痛みでよく眠れないようです。

次は、BAT: Bathroom_Needs_Keeps_Patient_from_Sleeping(夜中のトイレが睡眠に与える影響)です。

半々くらいですね。

次は、UKN: Unkown_Keeps_Patient_from_Sleeping(その他で睡眠に影響があるか)です。

4割強の人が影響があるようです。

次は、TS: Trouble Sleeping(睡眠で困っているか)です。

TS1, TS2, TS3 のダミー変数を作成します。

次は、PSP: Prescription Sleep Medication(睡眠薬の処方があるか)です。1 が定期的に使う、2 が時々使う、3 が使わないです。

ほとんどの人が睡眠薬は使っていないようです。PSP1, PSP2, PSP3のダミー変数を作成します。

次は、RACE: 人種です。1: White, Non-Hispanic、 2: Black, Non-Hispanic、 3: Other, Non-Hispanic、 4: Hispanic、 5: 2+ Races, Non-Hispanicです。

大半が、白人、非ヒスパニックですね。black, other, hispanic, tworace とダミー変数を作成します。

最後の変数は GENDER: 性別です。

1 は男性、2は女性です。なので、maleというダミー変数を作成して、GENDERは削除します。

これで全ての変数は、0か1のダミー変数になりました。
colMeans()関数で各変数の1の比率をみてみます。

healthy, 健康な人は 38.3%, BAT, 夜中のトイレが睡眠に影響している人は 52%などとわかります。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。

今回のコードは以下になります。

#
# EMP: Employee の度数
df |> 
  count(EMP) |> 
  mutate(prop = n / sum(n))
#
# EMP2, EMP3, EMP4 のダミー変数を作成
df <- df |> 
  mutate(EMP2 = if_else(EMP == 2, 1, 0),
         EMP3 = if_else(EMP == 3, 1, 0),
         EMP4 = if_else(EMP == 4, 1, 0)) |> 
  select(-EMP)
#
# STR: ストレスが睡眠に与える影響
df |> 
  count(STR) |> 
  mutate(prop = n / sum(n))
#
# MED: 医療行為が睡眠に与える影響
df |> 
  count(MED) |> 
  mutate(prop = n / sum(n))
#
# PAI: 痛みが睡眠に与える影響
df |> 
  count(PAI) |> 
  mutate(prop = n / sum(n))
#
# BAT: 夜中のトイレが睡眠に与える影響
df |> 
  count(BAT) |> 
  mutate(prop = n / sum(n))
#
# UKN: その他で睡眠に影響があるか
df |> 
  count(UKN) |> 
  mutate(prop = n / sum(n))
#
# TS: 睡眠で困っているか
df |> 
  count(TS) |> 
  mutate(propd = n / sum(n))
#
# TS1, TS2, TS3 のダミー変数を作成
df <- df |> 
  mutate(TS1 = if_else(TS == 1, 1, 0),
         TS2 = if_else(TS == 2, 1, 0),
         TS3 = if_else(TS == 3, 1, 0)) |> 
  select(-TS)
#
# PSP: 睡眠薬の処方があるか
df |> 
  count(PSP) |> 
  mutate(prop = n / sum(n))
#
# PSP1, PSP2, PSP3のダミー変数を作成する
df <- df |> 
  mutate(PSP1 = if_else(PSP == 1, 1, 0),
         PSP2 = if_else(PSP == 2, 1, 0),
         PSP3 = if_else(PSP == 3, 1, 0)) |> 
  select(-PSP)
#
# RACE: 人種
df |> 
  count(RACE) |> 
  mutate(prop = n / sum(n))
#
# RACEからダミー変数を作成
df <- df |> 
  mutate(black = if_else(RACE == 2, 1, 0),
         other = if_else(RACE == 3, 1, 0),
         hispanic = if_else(RACE == 4, 1, 0),
         tworace = if_else(RACE == 5, 1, 0)) |> 
  select(-RACE)
#
# GENDER: 性別
df |> 
  count(GENDER) |> 
  mutate(prop = n / sum(n))
#
# maleという変数を作成
df <- df |> 
  mutate(male = if_else(GENDER == 1, 1, 0)) |> 
  select(-GENDER)
#
# 各変数の平均値
colMeans(df) |> round(3)
#