我想删除具有重复日期和ID的行。我总是希望在删除重复项时保留第一行。
**df1**
ID Date score1 score2
73 2014-05-04 5 7
73 2014-05-04 5 8
73 2014-07-12 2 7
73 2014-07-12 4 3
79 2014-09-11 3 7
82 2014-05-04 5 7
82 2014-05-04 5 6
**Wanteddf**
ID Date score1 score2
73 2014-05-04 5 7
73 2014-07-12 2 7
79 2014-09-11 3 7
82 2014-05-04 5 7
答案 0 :(得分:5)
使用base R
df1[!duplicated(df1[1:2]),]
# ID Date score1 score2
#1 73 2014-05-04 5 7
#3 73 2014-07-12 2 7
#5 79 2014-09-11 3 7
#6 82 2014-05-04 5 7
答案 1 :(得分:3)
使用dplyr
:
library(dplyr)
df1 %>% distinct(Date, ID)
答案 2 :(得分:3)
使用data.table:
library(data.table)
setDT(df1)
unique(df1, by=c("Date","ID"))
确保使用最新的1.9.5版本 解析data.table#635: Delete rows by reference后,它可能会更快。