我有这样一个数据框架,它有成千上万的行和列,第一列包含日期,后面的列包含对应于该日期的资产回报指数。
| 日期|资产_1|资产_2|资产_3|资产_4|
| - ------|- ------|- ------|- ------|- ------|
| 二零零零年一月一日|一千|三百|二九零零|* * 不适用**|
| ...|||||
| 二○ ○ ○年一月三十一日|1100年|三百五十|小行星2950|* * 不适用**|
| 二○ ○ ○年二月二日|小行星1200|三百三十|小行星2970|一百|
| ...|||||
| 二○ ○ ○年二月二十八日|小行星1200|三六零|三千|二百|
| 二零零零年三月一日|小行星1200|三百七十|3500|三百|
我想通过只保留每月的第一个观测值来将其转换为每月数据集。
我已经提出了以下脚本:
library(dplyr)
library(lubridate)
monthly <- daily %>% filter(day(DATE) == 1)
然而,这样做的问题是,它不工作的几个月,每月的第一天不是交易日期(又名它是从每日数据集失踪)。
因此,当我运行命令时,那些第一天不存在的月份将从数据集中排除。
2条答案
按热度按时间5gfr0r5j1#
如果数据总是有序的,你可以按年\月分组,然后保留(切片)每个组的第一条记录。
apeeds0o2#
使用
slice_min