2017-05-04 9 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年9月4日の日付です。 私はこの行を識別し、間違ったものを削除し、すべての重複を含む新しいテーブルを作成してそれらの概要を知りたいとします。 どうすればいいですか? SQLを入力しないでください。

+2

お読みに失敗r mind:「間違ったもの」を定義する。 (そして、あなたが見ている間、 '?duplicated'のヘルプページを見てください)あなたはSOの中で' [r] duplicated'の検索をするかもしれません。この種の質問は以前何度も聞かれてきました。 –

+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

ダミーデータ:

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)