【问题标题】:In R, how do I subset a data.frame by values from another data.frame?在 R 中,如何通过来自另一个 data.frame 的值对一个 data.frame 进行子集化?
【发布时间】:2012-04-04 06:44:25
【问题描述】:

我有两个数据框。第一个 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 中找到的标识符相匹配,或两者兼而有之。

【问题讨论】:

    标签: r dataframe subset


    【解决方案1】:

    你可以使用?"%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,]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-07
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 2021-11-01
      相关资源
      最近更新 更多