我有两个数据框,A和B. 首先,我想将B中的两列(id和type)与A匹配 如果它们具有相同的元素,那么我想将A中的所有其他信息调用到新的数据帧C中。
例如
A
id type info1 info2 info3 info4
a t1 * ~ ~ ~
b t5 * ~ ~ ~
c t3 * ~ ~ ~
a t2 * ~ ~ ~
b t3 * ~ ~ ~
乙
id % type
a .2 t1
b .15 t2
c .1 t3
a和c在A和B中具有相同的类型 所以我想创建一个新的数据框C,其中包含a和c在A中的所有其他列,
id type info1 info2 info3 info4
A t1 * ~ ~ ~
C t3 * ~ ~ ~
我试过了 C =合并(A,C,by = c(“type”,“id”))
但我认为它显示了A和B中的所有类型和ID。
答案 0 :(得分:0)
看起来你想从A中只提取那些id和类型在B中匹配的行。你可以使用merge来实现:
C <- merge(A,B[,c("id","type")])
C
# id type info1 info2 info3 info4
# 1 a t1 * ~ ~ ~
# 2 c t3 * ~ ~ ~
您不需要by=...
,因为第二个参数中的唯一列是id
和type
,默认情况下合并适用于所有公共列。