合并R中丢失数据的多个数据帧

合并R中丢失数据的多个数据帧,r,R,考虑到我的数据集有点大,我有以下数据,这是我样本的一部分: df1<-read.table (text=" id Ali,hok Bab,mko Katie,Mon NA NA NA NA john,Nulla NA NA ", header=TRUE) 我使用了fuzzyjoin,但没有得到预期的输出 library(fuzzyjoin) outt<-left_join(df2,df1,by=c("id"="id")

考虑到我的数据集有点大,我有以下数据,这是我样本的一部分:

df1<-read.table (text=" id
Ali,hok
Bab,mko
Katie,Mon
NA
NA
NA
NA
john,Nulla
NA
NA


", header=TRUE)
我使用了fuzzyjoin,但没有得到预期的输出

library(fuzzyjoin)
outt<-left_join(df2,df1,by=c("id"="id"))
尝试从基R进行简单合并

df3 <- merge(df1, df2, all.x=T)
df3
#>            id Class
#> 1     Ali,hok  MNO1
#> 2     Bab,mko BAR11
#> 3  john,Nulla  KAL1
#> 4   Katie,Mon   AS1
#> 5   Katie,Mon  Nook
#> 6     kazi,jo  <NA>
#> 7        <NA>  <NA>
#> 8        <NA>  <NA>
#> 9        <NA>  <NA>
#> 10       <NA>  <NA>
#> 11       <NA>  <NA>

你试过完全连接吗?你的左连接不是来自fuzzyjoin。您可能需要regex_left_join或stringdist_left_join在dists中[include]带有kazi的行,jo在'df2'中没有类似的字符串用于Katie,mon记录您有不同的记录,为什么要与AS1和NOOK匹配?那里的逻辑是什么?它没有反映出兴趣的来源
library(fuzzyjoin)
outt<-left_join(df2,df1,by=c("id"="id"))
df3 <- merge(df1, df2, all.x=T)
df3
#>            id Class
#> 1     Ali,hok  MNO1
#> 2     Bab,mko BAR11
#> 3  john,Nulla  KAL1
#> 4   Katie,Mon   AS1
#> 5   Katie,Mon  Nook
#> 6     kazi,jo  <NA>
#> 7        <NA>  <NA>
#> 8        <NA>  <NA>
#> 9        <NA>  <NA>
#> 10       <NA>  <NA>
#> 11       <NA>  <NA>