-1

我想基于部分重叠的变量合并/匹配两个数据框。

输入(示例):

Data.frame_A
X1          X2  X3
aaa,bbb,ccc 25  AGF
ddd,eee,fff 23  BGD


Data.frame_B
Y1  Y2
aaa 25
fff 23

结果:

Data.frame_C
Z1  Z2  Z3
AGF 25  aaa
BGD 23  fff

到目前为止,我尝试了一些 unix 命令和 R(例如合并),但无法让它工作......

4

1 回答 1

3

merge确实有效

> Data.frame_C <- merge(Data.frame_A, Data.frame_B, by.x="X2", by.y="Y2", sort=FALSE)[, -2]
> Data.frame_C
  X2  X3  Y1
1 25 AGF aaa
2 23 BGD fff

基本上,Data.frame_C上面就是你想要的,但如果你真的想要问题中显示的输出,那么还需要两行代码:

> Data.frame_C <- Data.frame_C[ , c(2,1,3)]
> colnames(Data.frame_C) <- c("Z1", "Z2", "Z3")
> Data.frame_C
   Z1 Z2  Z3
2 AGF 25 aaa
1 BGD 23 fff
于 2013-10-21T17:30:04.677 回答