gpt4 book ai didi

r - 内部连接完全在一列上,而在另一列上模糊

转载 作者:行者123 更新时间:2023-12-04 16:06:03 26 4
gpt4 key购买 nike

我有两个要加入的数据框。它们共享两个字段:group_idperson_name。我想在 group_id 上精确加入,在 person_name 上模糊加入。我该怎么做?

约束:

这是一个小例子:

a = data.frame(
group_id=c(1,2,2,3,3,3),
person_name=c('Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank'),
eye_color=c('brown', 'green', 'blue', 'brown', 'green', 'blue')
)
b = data.frame(
group_id=c(2,2,2,3,3,3,3),
person_name=c('Alie', 'Bobo', 'Charles', 'Charlie', 'Davis', 'Eva', 'Zed' ),
hair_color=c('brown', 'brown', 'black', 'grey', 'brown', 'black', 'blond')
)
expected = data.frame(
group_id=c(2,2,3,3),
person_name_x=c('Bob', 'Charlie', 'David', 'Eve'),
person_name_y=c('Bobo', 'Charles', 'Davis', 'Eva'),
eye_color=c('green', 'blue', 'brown', 'green'),
hair_color=c('brown', 'black', 'brown', 'black')
)

最佳答案

你可以试试

library(RecordLinkage)
library(tidyverse)
compare.linkage(a, b, strcmp = 2, exclude=3, blockfld = 1) %>%
epiWeights %>%
epiClassify(.8) %>%
getPairs(show="links", single.rows=T) %>%
.[(c(2,3,7,4,8))]
# group_id.1 person_name.1 person_name.2 eye_color.1 hair_color.2
# 3 2 Charlie Charles blue black
# 2 2 Bob Bobo green brown
# 4 3 David Davis brown brown
# 5 3 Eve Eva green black

关于r - 内部连接完全在一列上,而在另一列上模糊,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48728437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com