如何对齐日期
How to align the date
有current_dataframe
,如何对齐start_day
end_day
并保持date_gap
不变(是否可用包或功能)?谢谢!
library(tidyverse)
current_dataframe <- data.frame(start_day=c('2022/1/19','2022/2/19','2022/4/19'),
end_day=c('2022/1/25','2022/2/20','2022/4/24'))
使用 lubridate
包处理日期。使用 ymd
将字符串转换为日期格式。然后floor_date
可以给你这个月的第一天(它也可以做其他单位)。
library(tidyverse)
library(lubridate)
current_dataframe <- data.frame(start_day=c('2022/1/19','2022/2/19','2022/4/19'),
end_day=c('2022/1/25','2022/2/20','2022/4/24'))
current_dataframe %>%
mutate(across(c(start_day, end_day), ymd),
days_gap = end_day - start_day,
start_day = floor_date(start_day, "month"),
end_day = start_day + days_gap)
有current_dataframe
,如何对齐start_day
end_day
并保持date_gap
不变(是否可用包或功能)?谢谢!
library(tidyverse)
current_dataframe <- data.frame(start_day=c('2022/1/19','2022/2/19','2022/4/19'),
end_day=c('2022/1/25','2022/2/20','2022/4/24'))
使用 lubridate
包处理日期。使用 ymd
将字符串转换为日期格式。然后floor_date
可以给你这个月的第一天(它也可以做其他单位)。
library(tidyverse)
library(lubridate)
current_dataframe <- data.frame(start_day=c('2022/1/19','2022/2/19','2022/4/19'),
end_day=c('2022/1/25','2022/2/20','2022/4/24'))
current_dataframe %>%
mutate(across(c(start_day, end_day), ymd),
days_gap = end_day - start_day,
start_day = floor_date(start_day, "month"),
end_day = start_day + days_gap)