【问题标题】:Compare two frames by parts R按部分 R 比较两帧
【发布时间】:2014-01-22 19:32:53
【问题描述】:

我想按部分比较两个数据帧。这是我的数据框的示例:

a1 <- data.frame(a = 1:5, b=letters[1:5])
a2 <- data.frame(a = c(1,6,3,4), b=letters[1:4])

我想编写一个函数来查找 a1 中的两个连续行,这两个行也存在于数据帧 a2 中(两列必须匹配)并将其保存在新帧中。

任何帮助将不胜感激。

【问题讨论】:

    标签: r dataframe compare


    【解决方案1】:
    dual.matches <- match(a1$a, a2$a) == match(a1$b, a2$b) 
    sequential.dual.matches <- with(rle(dual.matches), rep(replace(values, lengths==1, FALSE), lengths))
    
    a1[sequential.dual.matches, ]
    #   a b
    # 3 3 c
    # 4 4 d
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      • 2021-01-16
      • 1970-01-01
      • 2020-12-07
      相关资源
      最近更新 更多