我有两个要添加标记的期间:
- 2019年1月30日至6月1日
- 2019年5月1日至7月1日
但是,当我使用case when时,它不会标记两个重叠的周期。我理解为什么,但是我怎么能做到这一点呢?我想简单地复制重叠周期中的行,并将一个标记为第一个周期,另一个标记为第二个周期。
下面是一些有争议的虚拟数据:
dummy <- data.frame(
dates = seq(as.Date("2019-01-01"), as.Date("2021-01-01"), by = "days"),
people = runif(732, min = 100, max = 15000)
)
dummy %>%
mutate(
periods = case_when(
dates >= as.Date("2019-01-30") & dates <= as.Date("2019-06-01") ~ "Period_1",
dates >= as.Date("2019-05-01") & dates <= as.Date("2019-07-01") ~ "Period_2",
T ~ "No_period"
)
)
2条答案
按热度按时间zbwhf8kr1#
为重叠时段创建另一个案例,然后使用
separate_rows
可能会有所帮助gxwragnw2#
data.table
方法