消除R中数据帧中的重复日期

消除R中数据帧中的重复日期,r,date,dataframe,unique,R,Date,Dataframe,Unique,我有一个数据框,如下所示。我如何获得一个新的数据框来消除日期重复:2018年6月15日和2018年6月28日,并且只有唯一值的数据框 Date Hrs 6/14/2018 364.8 6/15/2018 372.6 6/15/2018 381.9 6/21/2018 383.3 6/22/2018 394.5 6/25/2018 411 6/28/2018 423.9 6/28/2018 424.9 假设您只想保留两个副本的第一行: df <

我有一个数据框,如下所示。我如何获得一个新的数据框来消除日期重复:2018年6月15日和2018年6月28日,并且只有唯一值的数据框

 Date        Hrs
6/14/2018   364.8
6/15/2018   372.6
6/15/2018   381.9
6/21/2018   383.3
6/22/2018   394.5
6/25/2018   411
6/28/2018   423.9
6/28/2018   424.9

假设您只想保留两个副本的第一行:

df <- df[!duplicated(df[c('date')]),]

df

##     date   hrs
##6/14/2018 364.8
##6/15/2018 372.6
##6/21/2018 383.3
##6/22/2018 394.5
##6/25/2018 411.0
##6/28/2018 423.9
df1)zoo您可以通过使用
read.zoo
并指定这样的
聚合
函数来创建没有副本的zoo系列。在本例中,我们假设您想要任何副本中的最后一个,但我们可以使用
平均值
中值
函数(x)头(x,1)
或其他函数进行其他聚合

library(zoo) 
z <- read.zoo(DF, format = "%m/%d/%Y", aggregate = function(x) tail(x, 1))
或者我们可以使用(1)中提到的任何聚合函数

<代码>\
行如何判断6/15的两个值中要保留哪一个?如果存在重复项,要删除哪一个Hrs记录?到目前为止,您尝试了什么?数据框中的日期可能重复Y-m-d格式,我得到以下错误>z如果您将注释末尾的代码粘贴到R中,然后将代码粘贴到答案中,那么它就工作了。如果我运行这个创建带有yyyy/mm/dd日期的DF3,它也可以工作<代码>DF3亲爱的gos,如果我想保留第二行的两份副本,你能帮我吗
DF2 <- transform(DF, Date = as.Date(Date, "%m/%d/%Y"))
aggregate(Hrs ~ Date, DF2, function(x) tail(x, 1))
## Note

Lines <- " Date        Hrs
6/14/2018   364.8
6/15/2018   372.6
6/15/2018   381.9
6/21/2018   383.3
6/22/2018   394.5
6/25/2018   411
6/28/2018   423.9
6/28/2018   424.9"
DF <- read.table(text = Lines, header = TRUE)