【发布时间】:2019-05-31 18:49:39
【问题描述】:
我有 2 个数据框。
首先,
abc <- data.frame(bin1 = c("0-25K", "25K-50K", "50K+"), group1 = c(1, 1, 2), bin2 = c("0-25", "25-50", "50+"), group2 = c(1, 2, 2))
pqr <- data.frame(bin1 = c("1_0-25K", "2_25K-50K", "3_50K+"),bin2 = c("0,25", "25,50", "50+"))
我想合并 abc 和 pqr 得到
pqr <- data.frame(bin1 = c("1_0-25K", "2_25K-50K", "3_50K+"), group1 = c(1, 1, 2), bin2 = c("0,25", "25,50", "50+"), group2 = c(1, 2, 2))
我查看了一些较早发布的问题,但没有一个对我有用。
Merging two Data Frames using Fuzzy/Approximate String Matching in R
【问题讨论】:
-
我不太确定我掌握了模糊匹配应该如何工作的逻辑。你能更具体一点吗?我想确保我了解您的基本原则是什么,以便我们帮助您的任何解决方案都能被适当地推广。
-
另外:使用
fuzzyjoin包的想法是什么?其实我现在才知道!我喜欢 StackOverflow 的一件事。 -
试试
pqr %>% mutate(bin2 = str_replace(bin2, ",", "-")) %>% left_join(abc, by = 'bin2') %>% transmute(bin1 = bin1.x, bin2, group1, group2) -
这只是一个虚拟数据,考虑一个适合所有模糊匹配和合并替代方案的解决方案。无论是 -/,还是一个向量中的字符多于另一个
-
我正在尝试创建一个数据框,在其中加入 ob 箱,以获取数据框中相同箱的分组。这是根本动机