在Base r中我如何获得
答案 0 :(得分:1)
您可以尝试以下
> substr(Ref2,1,2) ==gsub("[a-z| ]","",Street2)
[1] TRUE FALSE
您可以使用该逻辑矢量从原始数据中删除FALSE
值。
该代码的工作方式是仅从Ref2
中获取前两个字符,并从Street2
中删除所有小写字符+空格。
数据
Ref2 = c("AC12","AL34")
Street2=c("Abbey Court","Albert Gardens")
答案 1 :(得分:0)
只要要提取每个单词的首字母(大小写不一致或整个单词都相同)的任何人,都可以添加一个选项。
这还包括过滤表以继续使用(使用data.table)。
library(data.table)
library(stringr)
data_example <- data.table(Ref2 = c("AC12", "AL34", "AG34"),
Street = c("Abbey Court", "Albert gardens", "albert gardens"))
data_example <- data_example[tolower(str_extract(Ref2, "^.{2}")) == tolower(paste0(str_extract(Street, "^."), str_extract(Street, "(?<=\\s).")))]
> View(data_example)
> data_example
Ref2 Street
1: AC12 Abbey Court
2: AG34 albert gardens