r语言 - 每月的营业日数

  • 本文关键字:r语言 r dataframe date
  • 更新时间 :
  • 英文 :


我有一个日期为2012 - 2021的数据框架。日期只是商务日期。所以没有周末。我需要一个列,其中包含每个月每个业务日期的数字。

试试这个…

library(tidyverse)
library(clock)
tibble(date = date_seq(as.Date("2022-01-01"), by = duration_days(1), total_size = 365)) |>
mutate(
wkday = date_weekday_factor(date),
date = as_year_month_day(date),
month = calendar_group(date, "month")
) |> 
filter(!wkday %in% c("Sat", "Sun")) |> 
group_by(month) |> 
mutate(bus_day = row_number())
#> # A tibble: 260 × 4
#> # Groups:   month [12]
#>    date       wkday month        bus_day
#>    <ymd<day>> <ord> <ymd<month>>   <int>
#>  1 2022-01-03 Mon   2022-01            1
#>  2 2022-01-04 Tue   2022-01            2
#>  3 2022-01-05 Wed   2022-01            3
#>  4 2022-01-06 Thu   2022-01            4
#>  5 2022-01-07 Fri   2022-01            5
#>  6 2022-01-10 Mon   2022-01            6
#>  7 2022-01-11 Tue   2022-01            7
#>  8 2022-01-12 Wed   2022-01            8
#>  9 2022-01-13 Thu   2022-01            9
#> 10 2022-01-14 Fri   2022-01           10
#> # … with 250 more rows

由reprex包(v2.0.1)于2022-04-28创建

根据你如何描述你的问题,你只需要一周中的天数,因为你提到你的数据不包括工作日以外的任何东西。

您可以使用库润滑油,例如

lubridate::wday("2022-04-24", week_start = 1L) # sunday will be 7
# [1] 7
lubridate::wday("2022-04-24") # sunday will be 1
# [1] 1

相关内容

  • 没有找到相关文章

最新更新