Merging/combining和R中行数不等的匹配数据框
Merging/combining and matching data frames with unequal number of rows in R
假设我有两个 data.frames df1
和 df2
:
> 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 df1
与 df2
的方式 Var1
和 Var3
的值尽可能匹配 NA
否则。重要的是我想保留 Var1
和 Var2
值之间的映射。在这个简单的例子中,我最终会得到:
> 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]
假设我有两个 data.frames df1
和 df2
:
> 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 df1
与 df2
的方式 Var1
和 Var3
的值尽可能匹配 NA
否则。重要的是我想保留 Var1
和 Var2
值之间的映射。在这个简单的例子中,我最终会得到:
> 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]