r - 如何通过在R中搜索特定字母和字母顺序来重命名变量并将其更改为另一个变量
问题描述
我对 R. 非常陌生,并且正在开展一个项目,其中列的变量来自不同的国家。但是,有些拼写不同,或命名不同。例如,“United States”的一些变量将是“USA”、“Ahem....Amerca”、“'merica”、“USSA”“USAUSAUSA”。我希望能够将它们简单地重命名为“美国”,并且只保留/类似于“美国”、“加拿大”和“英国”的变量,并完全省略/删除整行。
我一直在考虑在 for 循环中使用多个 if 语句或使用 case_when。但我不完全确定如何实际编写代码来做到这一点。
我希望查看一列 2460 行并查找特定单词和字母顺序并将其更改为“美国”
CandyData <- #是该列所在的数据框
for ( row in 1:length(CandyData))
{
if (x == "USA"| "Ahem...Amerca"|"merica"|"USSA"|"USAUSAUSA")
{x = "United States" }
else if
{x.omit }
}
我真的没有任何错误,因为我无法使其正常工作。
解决方案
如前所述,提供可重现的示例非常重要。它可以帮助可能想要帮助您的人!否则,可能会很耗时...
也就是说,您不需要循环来执行此操作(实际上,不建议在 R 中无意中使用循环,因为它通常与矢量化替代方案一起工作得更好)。
假设您正在处理的列名为“Country”:
# Update wrong values
wrong_names <- c("USA", "Ahem...Amerca", "merica", "USSA", "USAUSAUSA")
CandyData$Country[CandyData$Country %in% wrong_names] <- "United States"
# Select lines for target-countries only
CandyData[CandyData$Country %in% c("United States", "Canada", "United Kingdom"), ]
我希望它有帮助!
最好的
推荐阅读
- plot - 如何在 Octave 中进行“按数字着色”的绘图
- uwp - 如何解析数据阅读器?
- java - javac-algs4 编译器的问题
- reactjs - 是否可以合并 React 和 Vue 构建文件?
- python - 当不捕获转置的返回值时,Pandas 中的内存如何处理
- pytorch - SageMaker PyTorchModel 传递自定义变量
- java - 如何使用 JMenuItems 在 JTextArea 中的单独行上显示整数?
- python - 如何使用 Python 线程更快地写入大量小文件
- python - 如何将字符串拆分为一列并将其与Python中的另一列进行比较
- scala - Spark Structured Streaming 中的滑动窗口