我正在尝试在两个数据集之间的R中进行模糊逻辑连接:
config
我想使用name
列在两个数据集之间进行连接。但是,name
列可能在数据集中包含其他或前导字符,或者在较大的单词中包含一个单词。因此,例如,如果我们查看这两个数据集,我想要加入OPALAS的名称OPAL,以及加入SAUSALITO的SAUSALITO Y.
Dataset1:
Name Config
ALTO D BB
CONTRA ST
EIGHT A DD
OPALAS BB
SAUSALITO Y AA
SOLANO J ST
Dataset2:
Name Age Rank
ALTO D 50 2
ALTO D 20 6
CONTRA 10 10
CONTRA 15 15
EIGHTH 18 21
OPAL 19 4
SAUSALITO 2 12
SOLANO 34 43
数据集总结的代码
Data2a <-summaryBy(Age ~ Name,FUN=c(mean), data=Data2,na.rm=TRUE)
Data2b<-summaryBy(Rank ~ Name,FUN=c(sum), data=Data2,na.rm=TRUE)
Data2<-data.frame(Data2a$Name, Data2a$Age.mean, Data2b$Rank.sum)
Desired Outcome:
Name Config Age Rank
ALTO D BB 35 8
CONTRA ST 12.5 25
EIGHT A DD 18 21
OPALAS BB 19 4
SAUSALITO Y AA 12 5
SOLANO J ST 34 43
答案 0 :(得分:4)
我能够使用fuzzylogic包加入这两个数据集:
library(fuzzyjoin)
stringdist_inner_join(Dataset1, Data2, by ="Name", distance_col = NULL)