显示重复的行并在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。
答
这就是:
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)
不阅读你记住:定义“错误的”。 (当你在看它时,请看'?duplicated'帮助页面。)你也可以在SO中搜索:'[r] duplicate''。之前已经有很多次提到过这类问题。 –
“错误的”是重复的行“ 新的更精确的问题,下面 –