首页 文章

在R中,如何通过另一个data.frame的值对data.frame进行子集化?

提问于
浏览
4

我有两个数据帧 . 第一个, df.1 ,包含两列成对的数字标识符,其中每列包括~100,000行 . 第二个数据帧 df.2 包括一列( df.2$C )数字标识符 . 该数据帧大约有200行 .

如何查找 df.1 的配对数据子集,其中仅包含 df.2$C 中找到的标识符值的行?

最后一个子集将包括 df.1 的配对数据,该数据对应于在 df.2$C 中找到的与在 df.1$Adf.1$B 或两者中找到的标识符匹配的标识符 .

1 回答

  • 15

    你可以使用 ?"%in%" (类似于 ?match ):

    df1 <- data.frame(A=sample(1:10, 10), B=sample(1:10, 10))
    df2 <- data.frame(C=1:5)
    
    selectedRows <- (df1$A %in% df2$C | df1$B %in% df2$C)
    
    dfReduced <- df1[selectedRows,]
    

相关问题