我与这些值的数据帧(建立在这样一种方式):选择行等多个列没有重复值
id1 = (c(1,1,2,2))
id2 = (c(10,11,10,11))
value =c(50,50,50,50)
df = data.frame(id1,id2,value)
df :
value id1 id2
1 50 1 10
2 50 1 11
3 50 2 10
4 50 2 11
我想只保留其中两个ID1和ID2是唯一的行(ID1和ID2的每个值必须只出现一次),也有可能是每个ID的一个以上的重复:
df_unique :
value id1 id2
1 50 1 10
4 50 2 11
如果我使用复制命令上的一列,然后其他的,我会丢弃想要的行。
只要id1和id2中的每个元素都是唯一的,返回(1,11)和(2,10)的解决方案也是很好的。
与更多的行又如:
id1 = (c(1,1,1,2,2,2,3,3,3))
id2 = (c(10,11,12,10,11,12,10,11,12))
value =rep(50,9)
df = data.frame(id1,id2,value)
df:
id1 id2 value
1 1 10 50
2 1 11 50
3 1 12 50
4 2 10 50
5 2 11 50
6 2 12 50
7 3 10 50
8 3 11 50
9 3 12 50
当一个很好的答案是:(1,10),(2,11),(3,12),而且任何其他的答案在两个ID1和id2出现一次都很好。
谢谢
雅各
你如何决定是否1,10; 2,11保留或可以是1,11; 2,10? – Ananta
在您的示例中,这两个值都显示两次。我不明白你的问题。也许只是简单地做“独特的(df)”的 – TomR
。 –