Dplyrを使用して値を再コード化する方法


場合によっては、特定の値を R のデータ フレームに再コード化することに興味があるかもしれません。幸いなことに、これは dplyr パッケージのrecode()関数を使用して簡単に行うことができます。

このチュートリアルでは、この機能の実際の使用例をいくつか示します。

例 1: データフレーム内の単一列を再コード化する

次のコードは、データフレーム内の単一の列を再コード化する方法を示しています。

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' and 'Loss' to '1' and '0'
df %>% mutate (result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 to 24 1
2 B 29 0
3 C 13 1
4 D 15 0

例 2: データ フレーム内の単一列を再コード化し、NA 値を指定する

次のコードは、データ フレーム内の単一列を再コード化し、新しい値が明示的に割り当てられていない値に値NAを割り当てる方法を示しています。

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#view dataframe 
df

#change 'Win' to '1' and give all other values a value of NA
df %>% mutate (result=recode(result, ' Win '='1', .default =NA_character_))

       player points result
1 to 24 1
2 B 29 <NA>
3 C 13 1
4 D 15 <NA>

例 3: データフレーム内の複数の列を再コード化する

次のコードは、データフレーム内の複数の列を一度に再コード化する方法を示しています。

 library(dplyr)

#create dataframe 
df <- data.frame(player = c('A', 'B', 'C', 'D'),
                 points = c(24, 29, 13, 15),
                 result = c('Win', 'Loss', 'Win', 'Loss'))

#recode 'player' and 'result' columns
df %>% mutate (player=recode(player, ' A '='Z'),
              result=recode(result, ' Win '='1', ' Loss '='0'))

       player points result
1 Z 24 1
2 B 29 0
3 C 13 1
4 D 15 0

recode() 関数の完全なドキュメントはここで見つけることができます。

コメントを追加する

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