Merging/combining和R中行数不等的匹配数据框

Merging/combining and matching data frames with unequal number of rows in R

假设我有两个 data.frames df1df2:

> df1
    Var1   Var2
1    "A"    "D"
2    "B"    "E"
3    "C"    "F"

> df2
    Var3   Var4
1    "C"    "H"
2    "B"    "I"
3    "G"    "J"
4    "A"    "K"

我想 combine/merge df1df2 的方式 Var1Var3 的值尽可能匹配 NA 否则。重要的是我想保留 Var1Var2 值之间的映射。在这个简单的例子中,我最终会得到:

> df2
    Var3   Var4   Var1   Var2
1    "C"    "H"    "C"    "F"
2    "B"    "I"    "B"    "E"
3    "G"    "J"     NA     NA
4    "A"    "K"    "A"    "D"

关于实现此目的的一般方法有什么想法吗?每个 data.frame 中的变量数量在现实中不一定像本例中那样相等。干杯! :)

使用match:

Indices <- match(df2$Var3, df1$Var1)

df2$Var1<-df1$Var1[Indices]
df2$Var2<-df1$Var2[Indices]