R:如何从数据集中获取每月的最后一天?

时间:2019-02-25 21:44:08

标签: r

我试图从R中的数据集中提取每个月的最后一天。该数据集仅包含市场交易日期(例如,2002年6月的最后一个日期为20020628)。数据集有两列,一列仅由1-3900之间的数字组成,另一列由2002年6月至2017年12月之间的日期组成。日期格式为20020603(例如)。关于如何执行此操作的任何提示?

基本上,我想要的最终结果是2002年6月至2017年12月之间每个月的最后交易日期的列表,即:20020628、20020731、20020830 ... 20171229

1 个答案:

答案 0 :(得分:0)

如果对此有疑问,请在问题中添加可复制的数据样本。 dput()非常适合制作可复制/可粘贴的可复制示例。 (并不需要太多,仅需要数月的10行就可以说明这一点。)

library(dplyr)
library(lubridate)

name_of_your_data %>%
mutate(date = ymd(name_of_your_date_column)) %>%
arrange(date) %>%
group_by(year = year(date), month = month(date)) %>%
summarize(
  first_of_month = first(date),
  last_of_month = last(date)
)