我有一个带有日期列的数据框,如下所示:
library(tidyverse)
df <- data.frame(
id = c(1, 2, 4, 65, 77, 5, 4),
date = c("2020-04-18", "2020-04-20", "2020-04-01", "2020-04-19",
"2020-04-02", "2020-04-01", "2020-04-20")
) %>% mutate(date = as.Date(date))
我想用最后一个星期日之前的元素系统地过滤date列。
今天是2020-04-20
,它是星期一。
第一个星期日是2020-04-19
last_sunday <- as.Date(`2020-04-19`)
df %>% filter(date <= last_sunday)
id date
1 1 2020-04-18
2 4 2020-04-01
3 65 2020-04-19
4 77 2020-04-02
5 5 2020-04-01
如何以编程方式定义变量“ last_sunday”。
答案 0 :(得分:0)
一个选项可能是:
df %>%
filter(date <= min(date[as.POSIXlt(date)$wday == 0]))
id date
1 1 2020-04-18
2 4 2020-04-01
3 65 2020-04-19
4 77 2020-04-02
5 5 2020-04-01
答案 1 :(得分:0)
使用data
this.datasource.data = [...ELEMENT_DATA];//For your stackblitz