R——将多个文本模式关联到单个引用

R——将多个文本模式关联到单个引用,r,gsub,R,Gsub,我有一个数据文件,其中包含重复的代码,我需要将这些代码映射到更正式的名称。我的数据文件有一列,代码代表一个内部机构。。。。“123”、“1234”和“12345”是重复多次的代码。代码“123”等于“ABC”,代码“1234”等于“BCA”,而“12345”等于“CAB”。我只想添加另一列来映射这些关系 我尝试了下面的gsub代码,但每个实例都重写了前面的命令 data$agency您可以试试 install.packages("stringr") library(stringr) data$

我有一个数据文件,其中包含重复的代码,我需要将这些代码映射到更正式的名称。我的数据文件有一列,代码代表一个内部机构。。。。“123”、“1234”和“12345”是重复多次的代码。代码“123”等于“ABC”,代码“1234”等于“BCA”,而“12345”等于“CAB”。我只想添加另一列来映射这些关系

我尝试了下面的gsub代码,但每个实例都重写了前面的命令

data$agency您可以试试

install.packages("stringr")

library(stringr)
data$agency <- sapply(data$Code, function(x) str_replace_all(x, c("12345"="CAB","1234"="BCA","123"="ABC")))
install.packages(“stringr”)
图书馆(stringr)
数据$agency解释“Emiliman 5”评论

> data
   agency
1  12345
2   1234
3    123
创建一个新的代码表,如下所示:

> codeTable
   code value
1   123   ABC
2  1234   BCA
3 12345   CAB
并且,以下命令将返回所需的结果:

> data['new_column'] <- codeTable$value[match(data$agency, codeTable$code)]
> data
  agency new_column
1  12345        CAB
2   1234        BCA
3    123        ABC
>数据['new_column']数据
机构新专栏
12345驾驶室
21234 BCA
3123 ABC

您应该使用
数据$agency查看
匹配
。创建一个旧代码和新代码的查找表,然后匹配它们。Chi-Pak--工作得很好!!非常感谢。萨加尔和埃米利曼5-谢谢你的建议,这也很有效。