【发布时间】:2020-06-23 14:48:56
【问题描述】:
我有两个 data.frames:名称和搜索
name <- data.frame(
A = c("example", "firstly", "second.com")
searches <- data.frame(
A = c("example.com","secondly","first"),
B = c("test", "test.com", "test1"))
我想在 data.frame “搜索”中搜索 data.frame “名称”中的值。如果有相似的值(不完全相同),我希望 R 从名称和新表的新行中的搜索返回值。
所以一个新的data.frame可能是
result <- data.frame(
A = "example", "firstly", "second.com",
B = "example.com","first","secondly",
C = "test", "test1", "test.com")
这可能吗?
【问题讨论】:
-
你如何定义“相似”?在这里看起来有相同的 4 个首字母就足够了 - 是这样吗?
-
是的,我认为 data.frame "searches" 中的内容应该包含来自 data.frame "name" 内容的 4 个相似的连续字母
-
如果总是只有前四个字母,那么您可以在带有
substring(..., 1, 4)创建的额外列的框架上使用merge。不过,如果有什么不同,您可以考虑使用fuzzyjoin包。