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

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

UCI の National Poll on Healthy Aging (NPHA) のデータの分析 2 - mutate() 関数と if_else() 関数を使いダミー変数を作成する

(Bing Image Creator で生成: プロンプト: Flower of Crape Myrtle, pink and red, standing at green local hills, photo)

www.crosshyou.info

の続きです。

前回はデータを R に取り込みました。これから一つ一つの変数をみてきます。AGE: 年齢をみてみます。1 は 50歳から64歳で、2 は 65歳から80歳を表すカテゴリカル変数です。

df には 2 の 65歳から80歳までの人しかいないようです。なので、削除します。

次は、PH: Physical Health の度数をみます。

1 は Excellent で、 5 は Poor です。

mutate() 関数と if_else() 関数でダミー変数を作ります。

次は、MH: Mental Health です。

-1 は回答を拒否した人です。6 人いますね。

これも mutate() 関数と if_else() 関数を使ってダミー変数を作成します。

次は DH: Dental Health をみてみます。

これも mutate() 関数と if_else() 関数でダミー変数を作成します。

今回の作業で、PH: Physical Health, MH: Mental Health, DH: Dental Health の3つのカテゴリカル変数をダミー変数にすることができました。

今回は以上です。

次回は

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。

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

#
# AGE のカウント
df |> 
  count(AGE) |> 
  mutate(prop = n / sum(n))
#
# AGE を削除
df <- df |> 
  select(-AGE)
#
# PH: Physical Health のカウント
df |> 
  count(PH) |> 
  mutate(prop = n / sum(n))
#
# PH == 2, PH == 3, PH == 4, PH == 5 なら 1 のダミー変数作る
# そして PH を削除
df <- df |> 
  mutate(PH2 = if_else(PH == 2, 1, 0),
         PH3 = if_else(PH == 3, 1, 0),
         PH4 = if_else(PH == 4, 1, 0),
         PH5 = if_else(PH == 5, 1, 0)) |> 
  select(-PH)
#
# MH: Mental Health のカウント
df |> 
  count(MH) |> 
  mutate(prop = n / sum(n))
#
# MH == 1, MH == 2, MH == 3, MH == 4, MH == 5 でダミー変数を作る
df <- df |> 
  mutate(MH1 = if_else(MH == 1, 1, 0),
         MH2 = if_else(MH == 2, 1, 0),
         MH3 = if_else(MH == 3, 1, 0),
         MH4 = if_else(MH == 4, 1, 0),
         MH5 = if_else(MH == 5, 1, 0)) |> 
  select(-MH)
#
# DH: Dental Health のカウント
df |> 
  count(DH) |> 
  mutate(prop = n / sum(n))
#
# DH == 1, DH == 2, DH == 3, DH == 4, DH == 5, DH == 6 でダミー変数を作成
df <- df |> 
  mutate(DH1 = if_else(DH == 1, 1, 0),
         DH2 = if_else(DH == 2, 1, 0),
         DH3 = if_else(DH == 3, 1, 0),
         DH4 = if_else(DH == 4, 1, 0),
         DH5 = if_else(DH == 5, 1, 0),
         DH6 = if_else(DH == 6, 1, 0)) |> 
  select(-DH)
#