【问题标题】:R match/%in% for data frames数据帧的 R 匹配/%in%
【发布时间】:2014-11-12 16:36:41
【问题描述】:

我试图在一个数据框中找到那些出现在另一个数据框中的行。

df1 <- data.frame(V1=c(0,1,1,1), V2=c(0,1,0,2))
df2 <- data.frame(V1=c(0,1), V2=c(0,1))

in_df(df1, df2) # should yield c(T, T, F, F)

有计算这个的函数吗?

【问题讨论】:

标签: r


【解决方案1】:

试试

as.character(interaction(df1)) %in% as.character(interaction(df2))
#[1]  TRUE  TRUE FALSE FALSE

【讨论】:

    【解决方案2】:

    有一个duplicated.data.frame方法可以和rbind结合使用:

    in_df <- function(d1,d2) duplicated(rbind(d2,d1))[-(1:nrow(d2)) ]
    in_df(df1, df2)
    #[1]  TRUE  TRUE FALSE FALSE
    

    【讨论】:

      猜你喜欢
      • 2018-11-15
      • 2020-03-15
      • 1970-01-01
      • 2012-08-20
      • 2013-10-18
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      相关资源
      最近更新 更多