【问题标题】:Remove duplicates from list elements从列表元素中删除重复项
【发布时间】:2014-03-14 14:14:19
【问题描述】:

我正在尝试从位于单个列表中的多个数据框中删除具有重复条目(由两列定义)的行。

简单数据:

aa <- data.frame(a=rnorm(100),b=rnorm(100),x=rnorm(100),y=rnorm(100),Z=rep(1:4, each=25))
split.aa<-split(aa, aa$Z)

对于列表“split.aa”中的每个 df,我正在尝试删除具有重复 x,y 对的行。

我可以一次做一个 df:

split[[z]][!duplicated(split[[z]][,c('x','y')]),]

其中 z 是 'split.aa' 中每个 df 的名称。

如何将其写入 lapply 以便对每个元素执行操作?

我很难思考如何在 lapply 函数中引用特定的列表元素。

【问题讨论】:

    标签: r duplicate-removal lapply


    【解决方案1】:
    lapply(split.aa, function(x) x[!duplicated(x[c("x", "y")]), ])
    

    会成功的。

    【讨论】:

      【解决方案2】:

      只需在 lapply 中定义一个函数

      lapply(split.aa, function(x) x[!duplicated(x[c("x", "y")]), ])
      

      【讨论】:

        猜你喜欢
        • 2015-01-05
        • 2012-05-09
        • 1970-01-01
        • 2018-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多