我正在尝试从我的数据集中最完整的一周开始,在过去的52周里以编程的方式过滤我的数据。最近的日期是“04-21-2019年”。这些数据将每周加载一次,我试图避免手动对数据进行过滤。
我知道有润滑油。但我不知道哪种功能会过滤我过去52周的数据。更好的解决方案会在365天内过滤吗?
这张桌子是这样的:
|---------------------|------------------|
| Date (week) | Product |
|---------------------|------------------|
| Apr 21, 19 | A |
|---------------------|------------------|
| Apr 21, 19 | B |
|---------------------|------------------|
| Apr 21, 19 | C |
|---------------------|------------------|
| Apr 14, 19 | A |
|---------------------|------------------|
| Apr 14, 19 | B |
|---------------------|------------------|
| Apr 14, 19 | C |
|---------------------|------------------|诸若此类
理想的结果是给我一张表格,上面有过去52周的数据。
发布于 2019-05-02 19:47:54
正如您所说,您可以使用{lubridate}。
如果我能很好地理解你的问题,这应该是你想要的:
library(dplyr)
library(lubridate)
text_date <- '04-21-2019'
last_date <- mdy(text_date)
first_date <- last_date - weeks(52)
data <- tibble(
date = c("04-21-2019", "01-21-2019", "08-21-2018", "04-21-2018"),
product = LETTERS[1:4]
)
data %>%
mutate(date = mdy(date)) %>%
filter(date >= first_date, date <= last_date)请为您的下一个问题提供一个可重复的例子,一个可用的数据。
https://stackoverflow.com/questions/55959031
复制相似问题