2017-05-04 40 views
-1

我有這張表。顯示重複的行並在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

「錯誤的」是重複的行「 新的更精確的問題,下面 –

回答

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),] 
0

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) 
相關問題