假设我有两个数据帧,
DataFrame A
id x y
a 1 2
b 2 3
b 2 4
c 4 3
a 3 7
c 3 4
a 1 0
DataFrame B
id x q
a 1 3.5
a 3 5.7
b 2 4
c 3 2.5
c 4 5.5
Dataframe B有一对唯一的id和x列。
我想基于列id和x将B与A组合在一起,这样如果有多个相同id的条目,即A中的x,它们将获得与该id,x相对应的q的相同条目。
想要的结果:
id x y q
a 1 2 3.5
b 2 3 4
b 2 4 4
c 4 3 5.5
a 3 7 5.7
c 3 4 2.5
a 1 0 3.5
我尝试过使用合并,但它没有重复q值,只是将NA放在那里。感谢。
答案 0 :(得分:2)
我认为这正是您所寻找的。您可以合并多个列
A <- data.frame(id=c("a","b","b","c","a","c","a"), x=c(1,2,2,4,3,3,1), y=c(2,3,4,3,7,4,0))
B <- data.frame(id=c("a","a","b","c","c"),x=c(1,3,2,3,4), q=c(3.5,5.7,4,2.5,5.5))
C <- merge(A,B, by=c(1,2))
id x y q
1 a 1 2 3.5
2 a 1 0 3.5
3 a 3 7 5.7
4 b 2 3 4.0
5 b 2 4 4.0
6 c 3 4 2.5
7 c 4 3 5.5
答案 1 :(得分:1)