我有以下数据,想要获得每年最高收盘价的最新日期 .
> str(ndvdf)
'data.frame': 1374 obs. of 2 variables:
$ Close: num 150 150 150 150 150 ...
$ Year : num 2009 2009 2009 2009 2009 ...
> head(ndvdf)
Close Year
2010-01-04 150.34 2009
2010-01-05 150.34 2009
2010-01-06 150.34 2009
我尝试了以下但是行索引是返回而不是日期,并且索引是针对每个年度子集的,因此很难使用rownames来获取日期 .
> ddply(ndvdf, .(Year), summarise, MaxDate=which.max(Close))
Year MaxDate
1 2009 60
2 2010 244
3 2011 245
如何从我的数据中获取日期?谢谢 .
1 回答
以下是一些可重现的样本数据:
我更喜欢在这里使用data.table包 . 我们可以使用
as.data.table
和keep.rownames = TRUE
并使用它来轻松获取每个"Year"的"Close"最大时的行名称(日期) .