r-将缩写替换为in地址
这可能是一个常见的用例,我是用python编写的,但在本例中,我必须在R中编写。如何替换rd to road、st to street等。。在R 假设我有一个这样的映射字典r-将缩写替换为in地址,r,regex,R,Regex,这可能是一个常见的用例,我是用python编写的,但在本例中,我必须在R中编写。如何替换rd to road、st to street等。。在R 假设我有一个这样的映射字典 dict = { st : street, rd : road, Ln : Lane, Pl : Place} 在我的df中 Address 2/20,Queen St,London,UK 1,King Ln,Paris,France 5,Stuart Pl,Paris,France 我怎么才能得到这个 Address
dict = { st : street, rd : road, Ln : Lane, Pl : Place}
在我的df中
Address
2/20,Queen St,London,UK
1,King Ln,Paris,France
5,Stuart Pl,Paris,France
我怎么才能得到这个
Address
2/20,Queen Street,London,UK
1,King Lane,Paris,France
5,Stuart Place,Paris,France
谢谢。您可以使用功能
gsub
gsub(“Ln”,“Lane”,addresses)
其中addresses
是一个以您的地址为字符串的向量,将所有出现的“Ln”替换为“Lane”。你可以用正则表达式来处理这个问题,但我认为这对你没什么帮助
所以你所要做的就是调用这个函数来替换你想做的所有替换,你就完成了。R没有字典(据我所知),所以一次完成这一切需要另一种格式来存储映射
要回答有关如何对多个词典条目执行此操作的问题,请执行以下操作:
因为R中没有字典,所以我们选择了下一个最好的东西:列表。列表条目有一个名称和一个对象(值、向量、任何真正的东西)。我们可以将条目的名称作为字典键,将值作为其翻译:
dict <- list(St = "Street",
Rd = "Road",
Ln = "Lane",
Pl = "Place")
您可以使用函数
gsub
进行此操作gsub(“Ln”,“Lane”,addresses)
其中addresses
是一个以您的地址为字符串的向量,将所有出现的“Ln”替换为“Lane”。你可以用正则表达式来处理这个问题,但我认为这对你没什么帮助
所以你所要做的就是调用这个函数来替换你想做的所有替换,你就完成了。R没有字典(据我所知),所以一次完成这一切需要另一种格式来存储映射
要回答有关如何对多个词典条目执行此操作的问题,请执行以下操作:
因为R中没有字典,所以我们选择了下一个最好的东西:列表。列表条目有一个名称和一个对象(值、向量、任何真正的东西)。我们可以将条目的名称作为字典键,将值作为其翻译:
dict <- list(St = "Street",
Rd = "Road",
Ln = "Lane",
Pl = "Place")
用标签(即,
\\bLn\\b
)环绕Ln
,这样它就不会拾取属于更大单词的字母。多亏了你们两位。但是我如何对多个项目执行此操作,例如R中的dictionary?@ds_user查看我的编辑。使用标记(即,\\bLn\\b
)环绕Ln
),这样它就不会拾取属于更大单词一部分的字母多亏了你们两位。但是如何对多个项目执行此操作,例如R中的字典?@ds\u用户查看我的编辑。
for(i in 1:length(dict)){
Adresses <- gsub(paste0("\\b", names(dict)[i], "\\b"), dict[[i]], Adresses)
}