如何通过在R中搜索特定字母和字母顺序来重命名变量并将其更改为另一个变量

时间:2019-06-17 04:05:13

标签: r rstudio

我对R.来说是个新手,正在从事一个项目,该项目采用的列变量是不同的国家/地区。但是,有些拼写不同或命名不同。例如,“美国”的一些变量将是“美国”,“ Ahem .... Amerca”,“美国”,“ USSA”“ USAUSAUSA”。我希望能够将它们简单地重命名为“ United States”,并且仅保留/类似于“ United States”,“ Canada”和“ United Kingdom”的变量,并完全忽略/删除整行。

我一直在考虑在for循环中使用多个if语句或使用case_when。但我不能完全确定如何实际编写代码来做到这一点。

im希望浏览一列有2460行的内容,查找特定的单词和字母顺序,并将其更改为“美国”

CandyData <-#是列所在的数据框

for ( row in 1:length(CandyData))
{
  if (x == "USA"| "Ahem...Amerca"|"merica"|"USSA"|"USAUSAUSA")
{x = "United States" }
else if 
{x.omit }
}

我真的没有任何错误,因为我无法使其正常工作。

1 个答案:

答案 0 :(得分:0)

如前所述,提供可复制的示例非常重要。它可以帮助可能想要帮助您的人!否则,可能会很耗时...

也就是说,您不需要执行循环(实际上,不建议在R中无意使用循环,因为通常它在矢量化替代方法中效果更好)。

假设您正在使用的列称为“国家/地区”:

# 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"), ]

希望对您有帮助!
最好