英文:
How can I filter data based on date?
问题
我已经使用R中的“tidyquant”包下载了股票价格数据。该公司的财政年度每年截止于3月31日。因此,我想筛选出所有可用年份的数据,仅保留3月31日的数据。数据可用于2013年1月1日至2023年2月1日。在这些日期中,我只想保留以下日期的数据:
- 2013年3月31日;
- 2014年3月31日;
- 2015年3月31日;
- 2016年3月31日;
- 2017年3月31日;
- 2018年3月31日;
- 2019年3月31日;
- 2020年3月31日;
- 2021年3月31日;
- 2022年3月31日。
如何应用这样的筛选?
英文:
I have downloaded stock price data using tidyquant
package in R. This company's financial year ends on 31st March every year. So, I want to filter data only for 31st March for all the available years. The data is available from 1-Jan-2013 to 1-Feb-2023. Out of them, I want to keep only the datapoints, where the dates are as follows:
31-Mar-2013;
31-Mar-2014;
31-Mar-2015;
31-Mar-2016;
31-Mar-2017;
31-Mar-2018;
31-Mar-2019;
31-Mar-2020;
31-Mar-2021;
31-Mar-2022
How can I apply such filter?
答案1
得分: 0
library(lubridate)
your_data_frame$DATE_COLUMN <- dmy(your_data_frame$DATE_COLUMN)
dplyr::filter(your_data_frame, month(DATE_COLUMN) == 3, day(DATE_COLUMN == 31))
考虑到3月31日有时会落在周末,也许更有意义的是提取3月的最后一天。
your_data_frame %>%
filter(month(DATE_COLUMN) == 3) %>%
group_by(year = year(DATE_COLUMN)) %>%
slice_max(DATE_COLUMN) %>%
ungroup()
英文:
library(lubridate)
your_data_frame$DATE_COLUMN <- dmy(your_data_frame$DATE_COLUMN)
dplyr::filter(your_data_frame, month(DATE_COLUMN) == 3, day(DATE_COLUMN == 31)
Given that March 31 will sometimes fall on a weekend, it might make sense to pull the last day of March instead.
your_data_frame %>%
filter(month(DATE_COLUMN) == 3) %>%
group_by(year = year(DATE_COLUMN)) %>%
slice_max(DATE_COLUMN) %>%
ungroup()
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论