r - 使用 dplyr 按周过滤的功能
问题描述
我有一个关于周选择自动化的问题。我目前使用
dat %>%
filter(week >= 33) %>%
ggplot(aes(date,transaction,group = 1)) +
geom_line()
有没有办法创建一个函数,该函数需要一天并从周字段中减去两个以自动填充前两周?伪代码:
If
today() = week 35
then "week" == 35 - 2
dat %>%
filter(week >= "week" ) %>%
ggplot(aes(date,transaction,group = 1)) +
geom_line()
解决方案
我们可以Sys.Date()
用来获取今天的日期,从中提取周数和filter
过去 2 周的数据。
library(dplyr)
library(ggplot2)
todays_week <- lubridate::week(Sys.Date())
dat %>%
filter(between(week, todays_week - 2, todays_week)) %>%
ggplot(aes(date,transaction,group = 1)) +
geom_line()
推荐阅读
- reactjs - 获取 TypeError:无法读取反应中未定义的属性“0”
- mysql - MySQL中面向非主键列值的自动增量
- javascript - 在 ReactJS 中显示来自烧瓶 send_file 函数的图像
- webpack - 如何修复错误:在 vue-cli-3 中意外使用为 monaco 编辑器加载外部模块
- python-3.x - 在 Linux 上打开 Jupyter Notebook 时出现错误
- java - 在 amazon linux ec2 实例上配置 java JAVA_HOME 和 maven M2_HOME 时遇到问题
- sql - 动态 SQL 查询从两个日期获取所有项目并计数?
- javascript - 如何在 LightningChartJS 中直接为 Heatmap 系列添加颜色?
- python-3.x - Tkinter - 标签相互重叠的问题
- oracle - 触发器中的 For 循环失败