R 删除多个重复集并保留一个
我有多个重复的ID–日期集,希望删除除第一个重复集以外的所有重复集。我怎么能这么做?论坛上没有一个例子能为我的案例提供一个有效的例子。根据提供的dput数据,我希望保留以下内容:R 删除多个重复集并保留一个,r,duplicates,R,Duplicates,我有多个重复的ID–日期集,希望删除除第一个重复集以外的所有重复集。我怎么能这么做?论坛上没有一个例子能为我的案例提供一个有效的例子。根据提供的dput数据,我希望保留以下内容: 1 767 10-dec-97 1 2 767 10-dec-97 2 3 767 10-dec-97 3 4 767 10-dec-97 4 9 19025 11-dec-97 1 10 19025 11-dec-97 2 11 19025 11-dec
1 767 10-dec-97 1
2 767 10-dec-97 2
3 767 10-dec-97 3
4 767 10-dec-97 4
9 19025 11-dec-97 1
10 19025 11-dec-97 2
11 19025 11-dec-97 3
18 27452 16-apr-95 1
19 27452 16-apr-95 2
20 27452 16-apr-95 3
21 27452 16-apr-95 4
样本数据如下:
structure(list(id = c(767L, 767L, 767L, 767L, 9271L, 9271L, 9271L,
9271L, 19025L, 19025L, 19025L, 162749L, 162749L, 162749L, 183446L,
183446L, 183446L, 27452L, 27452L, 27452L, 27452L, 84002L, 84002L,
84002L, 84002L, 276172L, 276172L, 276172L, 276172L), date = c("10-dec-97",
"10-dec-97", "10-dec-97", "10-dec-97", "10-dec-97", "10-dec-97",
"10-dec-97", "10-dec-97", "11-dec-97", "11-dec-97", "11-dec-97",
"11-dec-97", "11-dec-97", "11-dec-97", "11-dec-97", "11-dec-97",
"11-dec-97", "16-apr-95", "16-apr-95", "16-apr-95", "16-apr-95",
"16-apr-95", "16-apr-95", "16-apr-95", "16-apr-95", "16-apr-95",
"16-apr-95", "16-apr-95", "16-apr-95"), seq = c(1L, 2L, 3L, 4L,
1L, 2L, 3L, 4L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L, 1L, 2L, 3L,
4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L)), datalabel = "", time.stamp = "28 Dec 2013 16:22", .Names = c("id",
"date", "seq"), formats = c("%8.0g", "%9s", "%8.0g"), types = c(253L,
9L, 251L), val.labels = c("", "", ""), var.labels = c("", "",
""), row.names = c("1", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
"21", "22", "23", "24", "25", "26", "27", "28", "29"), version = 12L, class = "data.frame")
下面是一个base中的解决方案,使用
aggregate
和head
:
aggregate(.~seq+date, data=x, FUN=head, 1)
df[!重复(df[,c(“日期”,“顺序”)]),]
身份证日期序号
1767 1997年12月10日1
2 767 1997年12月10日2
3767 1997年12月10日3
4 767 1997年12月10日4
9 19025 1997年12月11日1
10 19025 1997年12月11日2
11 19025 1997年12月11日3
18 27452 1995年4月16日1
19 27452 1995年4月16日2
2027452一九九五年四月十六日3
21 27452 1995年4月16日4
id date seq
1: 767 10-dec-97 1
2: 767 10-dec-97 2
3: 767 10-dec-97 3
4: 767 10-dec-97 4
5: 19025 11-dec-97 1
6: 19025 11-dec-97 2
7: 19025 11-dec-97 3
8: 27452 16-apr-95 1
9: 27452 16-apr-95 2
10: 27452 16-apr-95 3
11: 27452 16-apr-95 4
aggregate(.~seq+date, data=x, FUN=head, 1)
seq date id
1 1 10-dec-97 767
2 2 10-dec-97 767
3 3 10-dec-97 767
4 4 10-dec-97 767
5 1 11-dec-97 19025
6 2 11-dec-97 19025
7 3 11-dec-97 19025
8 1 16-apr-95 27452
9 2 16-apr-95 27452
10 3 16-apr-95 27452
11 4 16-apr-95 27452
aggregate(.~seq+date, data=x, FUN='[', 1)
id date seq
1 767 10-dec-97 1
2 767 10-dec-97 2
3 767 10-dec-97 3
4 767 10-dec-97 4
9 19025 11-dec-97 1
10 19025 11-dec-97 2
11 19025 11-dec-97 3
18 27452 16-apr-95 1
19 27452 16-apr-95 2
20 27452 16-apr-95 3
21 27452 16-apr-95 4