【发布时间】:2014-07-15 01:56:00
【问题描述】:
我有一个带有 id 变量的数据框,它可能是重复的。我想将其拆分为两个数据框,一个仅包含 id 重复的条目,另一个仅显示唯一的 id。这样做的最佳方法是什么?
例如,假设我有数据框:
dataDF <- data.frame(id = c(1,1,2,3,4,4,5,6),
a = c(1,2,3,4,5,6,7,8),
b = c(8,7,6,5,4,3,2,1))
即以下
id a b
1 1 1 8
2 1 2 7
3 2 3 6
4 3 4 5
5 4 5 4
6 4 6 3
7 5 7 2
8 6 8 1
我想获取以下数据框:
id a b
1 1 1 8
2 1 2 7
5 4 5 4
6 4 6 3
和
id a b
3 2 3 6
4 3 4 5
7 5 7 2
8 6 8 1
我目前这样做如下
dupeIds <- unique(subset(dataDF, duplicated(dataDF$id))$id)
uniqueDF <- subset(dataDF, !id %in% dupeIds)
dupeDF <- subset(dataDF, id %in% dupeIds)
这似乎工作,但似乎有点偏离子集三倍,有没有更简单的方法来做到这一点?谢谢
【问题讨论】:
标签: r duplicates