【发布时间】:2017-06-09 22:45:50
【问题描述】:
我有多列地址,它们可能包含重复的信息(但通常不会有完全重复的信息)。
以下代码将提供我的问题的示例,
id= c(1, 2)
add1 = c("21ST AVE", "5TH ST")
add2 = c("21ST AVE BLAH ST", "EAST BLAH BLVD")
df = data.frame(id, add1, add2)
df$combined = paste(add1, add2)
df
这给出了以下结果,
id add1 add2 combined
1 1 21ST AVE 21ST AVE BLAH ST 21ST AVE 21ST AVE BLAH ST
2 2 5TH ST EAST BLAH BLVD 5TH ST EAST BLAH BLVD
我需要的结论如下,
id add1 add2 combined
1 1 21ST AVE 21ST AVE BLAH ST 21ST AVE BLAH ST
2 2 5TH ST EAST BLAH BLVD 5TH ST EAST BLAH BLVD
我想确定add1 中的内容是否包含在add2 中。如果我发现add2 包含与add1 提供的相同信息,那么我要么想避免组合这些特定列值,要么删除组合列中的重复信息(我认为这需要解决重复短语的不同问题在一个字符串中)。我无法找到一个示例来查找“包含在”而不是“精确”的列值 - 我正在处理数据集中超过 500K 的案例,而这个问题很常见。任何帮助表示赞赏。
【问题讨论】: