【发布时间】:2021-11-27 21:40:25
【问题描述】:
我正在处理这样的数据集:
date time solar
1 2019-05-17 11:20:00 710
2 2019-05-17 11:25:00 712
3 2019-05-17 11:30:00 787
.
.
.
70 2019-08-06 10:20:00 926
71 2019-08-06 10:25:00 204
72 2019-08-06 10:30:00 498
.
.
.
90 2020-01-17 10:20:00 936
91 2020-01-17 10:25:00 639
92 2020-01-17 10:30:00 876
在第一列中,我有日期,从 2019 年 5 月 17 日到 2021 年 9 月 10 日的每一天,我想为每个月创建一个新数据集,例如我想要一个包含所有相同的数据,但仅适用于 2020 年 1 月,并且每个月都重复此操作……我就是这样工作的:
首先使用library(tibbletime) 将我的数据框(df1)转换为:
df_t<- as_tbl_time(df1, index = date)
然后用:
may19 <- filter_time(df_t, ~'2019-05')
jun19 <- filter_time(df_t, ~'2019-06')
jul19 <- filter_time(df_t, ~'2019-07')
ago19 <- filter_time(df_t, ~'2019-08')
sep19 <- filter_time(df_t, ~'2019-09')
oct19 <- filter_time(df_t, ~'2019-10')
nov19 <- filter_time(df_t, ~'2019-11')
dic19 <- filter_time(df_t, ~'2019-12')
创建一个新数据集,在其中我只使用我想要的月份的信息过滤 df_t,问题是我从 2019 年到 2021 年的每个月都这样做,我希望以更简单的方式来做例如一个循环,问题是我不知道如何,因为如果我执行循环,我不能将 i 放入:'2019-i',因为它不起作用。
【问题讨论】: