Dplyrを使用してデータフレーム内の複数の値を置き換える方法


次の基本構文を使用して、 dplyrパッケージの関数を使用して R のデータ フレーム内の複数の値を置換できます。

 library (dplyr)

df %>%
  mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), 
         var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))

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

例: dplyr を使用して複数の値を置換する

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

 #create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
                 position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
                 dots=c(22, 25, 29, 13, 18))

#view data frame
df

   conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18

ここで、データ フレーム内の次の値を置換するとします。

  • 「conf」列:
    • 「東」を「E」に置き換えます
    • 「西」を「西」に変更します。
    • 「北」を「N」に置き換えます
  • 「位置」欄:
    • 「ガード」を「G」に変更
    • 「進む」を「F」に変更します

これを行うには、 mutate()関数とrecode()関数を使用できます。

 library (dplyr)

#replace multiple values in conf and position columns
df %>%
  mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), 
         position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F '))

  conf position points
1EG 22
2 EG 25
3 WG 29
4 WG 13
5 NF 18

「conf」列と「position」列のそれぞれの値が特定の値に置き換えられていることに注意してください。

また、「ポイント」列の値が変更されていないことにも注意してください。

追加リソース

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

dplyrを使用して値を再コード化する方法
dplyr で NA をゼロに置き換える方法
dplyrを使用して特定の文字列を含む行をフィルタリングする方法

コメントを追加する

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