如何用正确唯一名称数据框替换R中DATA的错误名称值?
修正数据框中的拼写错误名称
要把Correct_Unique_Names的正确名称批量替换到DATA中,核心是先建立原错误名称和正确名称的映射关系,再批量替换。以下是两种可行方法:
方法一:利用映射表批量替换(适合名称较多的场景)
- 整理映射关系:因为
Unique_Names和Correct_Unique_Names是一一对应的,先合并成映射表,同时清理正确名称里的多余空格(你的Correct_Unique_Names中名称前有空格):
library(tidyverse) # 合并原唯一名称和修正后名称,去除修正名称的首尾空格 name_mapping <- tibble( original = Unique_Names$Name, correct = str_trim(Correct_Unique_Names$Name) )
- 将映射表关联到原数据,替换错误名称:
# 关联并替换 corrected_data <- DATA %>% left_join(name_mapping, by = c("Name" = "original")) %>% mutate(Name = correct) %>% select(-correct)
方法二:手动指定映射替换(适合名称较少的场景)
如果名称数量不多,直接用recode函数指定每个错误名称对应的正确值,更直观:
corrected_data <- DATA %>% mutate(Name = recode(Name, "Asan" = "Aasan", "Ziba" = "Zibae", "Asana" = "Aasan", "Farhan" = "Farhani", "Frahan" = "Farhani", "Zibaee" = "Zibae" ))
运行上述代码后,corrected_data就会和你提供的Desired_output一致。
内容的提问来源于stack exchange,提问作者Simon Harmel
相关产品推荐
相关产品推荐

