Dplyr: mutate() を使用して因子レベルを変更する方法


dplyrで次の基本構文を使用し、 mutate()関数を使用して因子変数の水準を変更できます。

 library (dplyr)

df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

この特定の構文は、データ フレーム内のチーム変数に次の変更を加えます。

  • 「H」が「ホークス」になる
  • 「M」が「マブス」になる
  • 「C」が「キャブス」になる

次の例は、この構文を実際に使用する方法を示しています。

例: mutate() を使用して因子水準を変更する

R に、さまざまなバスケットボール選手に関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=factor(c('H', 'H', 'M', 'M', 'C', 'C')),
                 dots=c(22, 35, 19, 15, 29, 23))

#view data frame
df

  team points
1:22 a.m.
2:35 a.m.
3 M 19
4 M 15
5 C 29
6 C 23

dplyrパッケージのmutate()関数で次の構文を使用して、チーム変数のレベルを変更できます。

 library (dplyr)

#change factor levels of team variable
df <- df %>% mutate(team=recode(team,
                                ' H ' = ' Hawks ',
                                ' M ' = ' Mavs ',
                                ' C ' = ' Cavs '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 Mavs 19
4 Mavs 15
5 Cavs 29
6 Cavs 23

この構文を使用すると、データ フレーム内のチーム変数に次の変更を加えることができました

  • 「H」が「ホークス」になる
  • 「M」が「マブス」になる
  • 「C」が「キャブス」になる

因子水準が変更されたことを、Levels ()関数を使用して確認できます。

 #display factor levels of team variable
levels(df$team)

[1] “Cavs” “Hawks” “Mavs” 

また、すべての因子レベルではなく 1 つの因子レベルのみを変更することを選択できることにも注意してください。

たとえば、次の構文を使用して、「H」のみを「Hawks」に置き換え、他の因子水準を変更しないままにすることができます。

 library (dplyr)

#change one factor level of team variable
df <- df %>% mutate(team=recode(team, ' H ' = ' Hawks '))

#view updated data frame
df

   team points
1 Hawks 22
2 Hawks 35
3 M 19
4 M 15
5 C 29
6 C 23

「H」は「ホークス」に置き換えられましたが、他の 2 つの因子水準は変更されていないことに注意してください。

追加リソース

次のチュートリアルでは、dplyr で他の一般的なタスクを実行する方法を説明します。

dplyrを使用して行を削除する方法
dplyrを使用してインデックスによって列を選択する方法
dplyrを使用して特定の文字列を含む行をフィルタリングする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です