过滤数据的月末日期
Filte the month end date of data
我正在尝试过滤一些每日面板,但我只想使用月底数据,首先我必须知道他们的月底日期。
数据示例:
https://imgur.com/a/SqL7A7F
我试着用这段代码来获取月末date.However,有些日期被遗漏了(有些月末日期是24/25/26,我遗漏了很多数据)
我的问题是,如何获取数据月份结束日期而不忽略任何较早的最后一天(like3/23、6/25 等)
library(anytime)
x=anydate(as.vector(fundbv$date))
y=unique(as.Date(format(mydates+28,"%Y-%m-01"))-1)
finaldays=x[x %in% unique(as.Date(format(x+28,"%Y-%m-01"))-1)]
finaldays=unique(finaldays)
感谢和感激!!!!!!
以下是使用 dplyr
和 lubridate
的方法:
library(dplyr)
library(lubridate)
# generate a data frame with dates to play with
(df <- data_frame(
date=seq(as.Date("2017-01-01"), as.Date("2018-12-31"), by=6),
amount=rgamma(length(date), shape=2, scale=20)))
df %>%
group_by(month=floor_date(date, "month")) %>%
summarize(date = max(date))
我正在尝试过滤一些每日面板,但我只想使用月底数据,首先我必须知道他们的月底日期。
数据示例: https://imgur.com/a/SqL7A7F
我试着用这段代码来获取月末date.However,有些日期被遗漏了(有些月末日期是24/25/26,我遗漏了很多数据) 我的问题是,如何获取数据月份结束日期而不忽略任何较早的最后一天(like3/23、6/25 等)
library(anytime)
x=anydate(as.vector(fundbv$date))
y=unique(as.Date(format(mydates+28,"%Y-%m-01"))-1)
finaldays=x[x %in% unique(as.Date(format(x+28,"%Y-%m-01"))-1)]
finaldays=unique(finaldays)
感谢和感激!!!!!!
以下是使用 dplyr
和 lubridate
的方法:
library(dplyr)
library(lubridate)
# generate a data frame with dates to play with
(df <- data_frame(
date=seq(as.Date("2017-01-01"), as.Date("2018-12-31"), by=6),
amount=rgamma(length(date), shape=2, scale=20)))
df %>%
group_by(month=floor_date(date, "month")) %>%
summarize(date = max(date))