我有一个像这样的数据集宝石,有位置组合
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_02< - > 02_01类型之一)
我尝试添加两个组合方向的列
gem$loccom1 <- paste(gem$locind1, "_" , gem$locind2)
gem$loccom2 <- paste(gem$locind2, "_" , gem$locind1)
我认为使用以下代码我可以删除这些双重组合:
gemb<- gem[! (gem$loccom1==gem$loccom2),]
但是只删除01_01类型而不删除01_02&lt; - &gt; 02_01类型
有谁知道如何从我的数据集中删除01_02&lt; - &gt; 02_01类型?
答案 0 :(得分:1)
我们可以split
&#39; loccom&#39;按_
,sort
,应用duplicated
获取逻辑向量并删除重复的行
df1[!duplicated(lapply(strsplit(df1$loccom, "_"), sort)),]