【问题标题】:How do I remove double combinations如何删除双重组合
【发布时间】:2018-03-16 19:11:40
【问题描述】:

我有一个像这样的带有位置组合的数据集 gem

loccom     locind1     locind2     A       B       C    ...

01_01        1          1        15.2    59.2    65.1   ...

01_02        1          2        32.1    52.1    58.4   ...

01_03        1          3        15.5    25.8    89.1   ...

...

02_01        2          1        32.1    52.1    58.4   ...

03_01        2          1        15.5    25.8    89.1   ...

我想用反向代码删除那些双重组合(01_01 类型都是 01_0202_01 类型之一)

我尝试添加具有两个组合方向的列

gem$loccom1 <- paste(gem$locind1, "_" , gem$locind2)

gem$loccom2 <- paste(gem$locind2, "_" , gem$locind1)

我认为使用以下代码可以删除这些双重组合:

gemb<- gem[! (gem$loccom1==gem$loccom2),]

但这只会删除 01_01 类型而不是 01_0202_01 类型

有人知道如何从我的数据集中删除 01_0202_01 类型吗?

【问题讨论】:

    标签: r dataset double combinations selection


    【解决方案1】:

    我们可以通过_sort split 'loccom',应用duplicated 来获取逻辑向量并删除重复的行

    df1[!duplicated(lapply(strsplit(df1$loccom, "_"), sort)),]
    

    【讨论】:

      猜你喜欢
      • 2019-07-07
      • 1970-01-01
      • 2017-09-28
      • 2011-09-05
      • 1970-01-01
      • 2020-01-23
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多