如何使用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
现在假设我们要替换数据框中的以下值:
- “配置”列:
- 将“东”替换为“E”
- 将“西”改为“W”
- 将“北”替换为“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 执行其他常见任务: