如何在数据框R中查找特定行的索引

时间:2019-04-15 15:42:57

标签: r

我有一个数据框A,看起来像这样:

col 1   col2   col3
 NL      6       9
 UK      5       5
 US      9       7

我有一个数据框B,由大型数据框的行的子集组成,如下所示:

 col 1   col2   col3
 NL      6       9
 UK      5       5

现在,我想从A中的B查找行的索引,因此它应返回1 and 2。有人知道该怎么做吗?

编辑 接下来,当我只有B的前两列时,我也想找到A中的行的索引。因此,在这种情况下,它也应该返回1 and 2。有人知道该怎么做吗?

1 个答案:

答案 0 :(得分:1)

通常,match获取索引。在我们的示例中,一种方法是将paste行合并在一起,并使用match

获得索引
match(do.call(paste, df2), do.call(paste, df1)

如果仅具有相同列名的列子集,请使用intersect获取列名的向量,子集数据集,执行paste并使用{{1 }}

match

另一个选择是nm1 <- intersect(names(df1), names(df2)) match(do.call(paste, df2[nm1]), do.call(paste, df1[nm1])) ,我们在两个数据集中创建一个行索引,进行联接并提取行索引

join