相交数据帧

时间:2017-06-13 15:57:21

标签: r dataframe

我有两个数据帧,列数相同但行数不同。

例如

df1

    name1   name2   name3 
a     A      B        G
b     D      A        R
c     F      T        Q
d     Y      W        A
e     G      Y        D


df2

    name1   name2   name3 
a     A      B        C
b     D      A        I
c     A      T        G
e     G      Y        D
f     E      T        G
g     A      C        T

我的数据框比这个例子大得多。是否有任何简单的方法可以从第一个数据帧中删除第二个数据帧中不存在的行?我必须通过rownames删除行,因此输出应为:

DF1

    name1   name2   name3 
a     A      B        G
b     D      A        R
c     F      T        Q
e     G      Y        D

d行已被删除,因为它不在第二个数据框中。

1 个答案:

答案 0 :(得分:0)

您可以只比较rownames并选择这些行。

df1[which(rownames(df1) %in% rownames(df2)),]
  name1 name2 name3
a     A     B     G
b     D     A     R
c     F     T     Q
e     G     Y     D