r - 在 R 中,使用一个日期列如何从当前行中减去上面的 2 个点并在新列中添加结果?
问题描述
我有一个日期列,我只想使用这一列中的信息
Date
2020-01-05
2020-01-30
2020-01-20
2020-01-10
2020-01-15
2020-01-30
我创建一个新列
df$3to1_difference
我想创建的函数给了我这个结果。我想让第三列减去第一列
Date | 3to1_difference
2020-01-05 N/A
2020-01-30 N/A
2020-01-20 15
2020-01-10 -20
2020-01-15 -5
2020-01-30 20
解决方案
library(lubridate)
library(tibble)
library(dplyr)
tbl <- tibble::tibble(date = lubridate::as_date( c("2020-01-05", "2020-01-30","2020-01-20", "2020-01-10", "2020-01-15", "2020-01-30")))
tbl %>% mutate(`3to1difference` = date - lag(date, n = 2)) ## as difference in days
tbl %>% mutate(`3to1difference` = as.numeric(date - lag(date, n = 2))) ## as numeric variable
推荐阅读
- r - Is pivot_longer() and pivot_wider() transitive?
- seaborn - 在 Seaborn 热图上显示不同的值
- javascript - 表单内的Textarea奇怪行为
- sapui5 - 传递 Odata 对象以创建实体集
- python - 如何使用 sqlite3 的 enable_load_extension?
- angular - Angular RxJs AutoRefresh Component
- snakemake - Snakemake shell command should only take one file at a time, but it's trying to do multiple files at once
- r - 在 Shiny 的输出表中删除一行或多行
- python - How do I only keep files in a directory that contain a specific string?
- servicenow - 分配给案例表中的字段 - Servicenow