【发布时间】:2021-05-15 00:14:38
【问题描述】:
我有多年的数据,我想将每年分为夏季和冬季月份。我一次能够做到这一点一年,但我想知道是否有更有效的方法来做到这一点。有没有办法在每年的某个时间迭代我一年的内容?
library(lubridate)
library(tidyverse)
date <- rep_len(seq(dmy("01-01-2010"), dmy("31-12-2013"), by = "days"),1000)
ID <- rep(seq(1, 5), 100)
df <- data.frame(date = date,
x = runif(length(date), min = 60000, max = 80000),
y = runif(length(date), min = 800000, max = 900000),
ID)
df$month <- month(df$date)
df$year <- year(df$date)
df1 <- df %>%
mutate(season_categ = case_when(month %in% 6:8 ~ 'summer',
month %in% 1:3 ~ 'winter')) %>%
group_by(ID, year, season_categ)
summer_2013 <- df1 %>%
group_by(ID) %>%
filter(year == "2010" & season_categ == "summer")
winter_2013 <- df1 %>%
group_by(ID) %>%
filter(year == "2010" & season_categ == "winter")
【问题讨论】: