【发布时间】:2012-04-14 05:56:09
【问题描述】:
我有一个超过 100 列的数据框,我想通过只比较其中的两列来找到唯一的行。我希望这是一个简单的过程,但我无法使用 unique 或 duplicated 我自己。
在下面,我想只使用 id 和 id2 来唯一:
data.frame(id=c(1,1,3),id2=c(1,1,4),somevalue=c("x","y","z"))
id id2 somevalue
1 1 x
1 1 y
3 4 z
我想获得:
id id2 somevalue
1 1 x
3 4 z
或:
id id2 somevalue
1 1 y
3 4 z
(我没有偏好保留哪些唯一行)
【问题讨论】:
-
您想要的输出没有明确定义。你如何选择包括 x 而不是 y?需要为每一个重复行的每一列做出这个决定,而你没有给出如何做的指示。
-
我对是否包含“x”或“y”没有偏好。我会更新问题。
-
对于
data.table替代品:Filtering out duplicated/non-unique rows in data.table