显示重复的行并在r中创建一个现在的数据集

问题描述:

我有这张表。显示重复的行并在r中创建一个现在的数据集

data          pm10 
2016-09-01   15.6 
2016-09-02    16.8 
2016-09-03    17.1 
2016-09-04    15.4 
2016-09-04    14.5  
2016-09-05    18.4 

现在我怎么找到重复的行(与相同的日期)。这是2016年4月4日的日期。 我想识别这些行,删除错误的行并创建一个包含所有重复项的新表以对其进行概述。 如何做到这一点?请不要SQL。

+2

不阅读你记住:定义“错误的”。 (当你在看它时,请看'?duplicated'帮助页面。)你也可以在SO中搜索:'[r] duplicate''。之前已经有很多次提到过这类问题。 –

+0

“错误的”是重复的行“ 新的更精确的问题,下面 –

这就是:

df <- data.frame(
    data=c("2016-09-01", "2016-09-02", "2016-09-03", "2016-09-04", "2016-09-04", "2016-09-05"), 
    pm10=c(15.6,16.8,17.1, 15.4,14.5,18.4) 
) 

df_unique <- df[which(duplicated(df$data)==F),] 

df_duplicated <- df[which(duplicated(df$data)==T),] 

dummydata:

df <- as.data.frame(read.table(header=TRUE, text='data   pm10 
2016-09-01 15.6 
2016-09-02 16.8 
2016-09-03 17.1 
2016-09-04 15.4 
2016-09-04 14.5  
2016-09-05 18.4'), stringsAsFactors=FALSE) 

基础R:

noduplicates <- df[!duplicated(df$data),] 
duplicates <- df[duplicated(df$data),] 

dplyr:

library(dplyr) 
noduplicates <- df %>% distinct(data, .keep_all = TRUE)