我使用 lubridate::floor_data 对多天进行分组,但它会以新的月份重新开始分组。这是阻止这种情况的替代方案吗?
floor_date(x, "7 天") 始终从每月的第一天开始。我希望它与 Floor_date(x, "week") 相同
使用 https://r4ds.had.co.nz/dates-and-times.html 中的数据
flights_dt %>%
mutate(
week = floor_date(dep_time, "week"),
day7 = floor_date(dep_time, "7 days"),
day14 = floor_date(dep_time, "14 days"))
我希望第 7 天和第 14 天从之前的时间继续,而不是从该月的第一天重新开始。
最佳答案
解决此问题的一种方法是将日期归因于一年中的第几天。
您可以使用lubridate
包来做到这一点:
output <- flights_dt %>% mutate(day_nb = lubridate::yday(deptime)
然后要按X天的时间段进行分组,您需要计算天数除以X的欧几里德:
output %>% mutate(group_7_days = day_nb %/% 7,
group_14_days = day_nb %/% 14)
然后您只需按这些新列进行分组即可获得每 7/14 天期间的数据
关于r - lubridate::floor_date(x, "14 days"):如何防止新月份重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57001716/