【问题标题】:Extract week number in POSIXlt [duplicate]在POSIXlt中提取周数[重复]
【发布时间】:2020-02-03 19:53:44
【问题描述】:

我正在尝试在我的数据中创建一个“周”列,但无法弄清楚如何将第一周的第一天(从 2018 年 12 月 30 日星期日开始)正确分配到 2019 年的第 1 周。

2018 年 12 月 30 日是星期日,我想将其分配到 2019 年第 1 周的第一天;在网上搜索了太久,我想我应该在这里问它。

如果您需要更清晰:

    DATE             DAY       WEEK
    12/30/2018    Sunday         01  (first day of week 1)
    12/31/2018    Monday         01
    1/01/2019    Tuesday         01
    .                  .          .
    .                  .          .
    .                  .          .
    1/6/2019      Sunday         02  (the first day of week 2)
    .                  .          .
    .                  .          .
    .                  .          .
    .                  .          .
    .                  .          .
    .                  .          .
6/26/2019         Sunday         22 (first day of week 22)
    .                  .          .
    .                  .          .
    .                  .          .

【问题讨论】:

    标签: r date datetime rstudio posixct


    【解决方案1】:

    转换为日期,然后使用format 并调整以获得预期的输出

    library(dplyr)
    df %>%
      mutate(DATE = as.Date(DATE, "%m/%d/%Y"), 
             wk = (as.integer(format(DATE, "%U")) + 1) %% 52)
    
    #        DATE     DAY wk
    #1 2018-12-30  Sunday  1
    #2 2018-12-31  Monday  1
    #3 2019-01-01 Tuesday  1
    #4 2019-01-06  Sunday  2
    #5 2019-06-26  Sunday 26
    

    数据

    df <- structure(list(DATE = structure(c(3L, 4L, 1L, 2L, 5L), .Label = c("1/01/2019", 
    "1/6/2019", "12/30/2018", "12/31/2018", "6/26/2019"), class = "factor"), 
    DAY = structure(c(2L, 1L, 3L, 2L, 2L), .Label = c("Monday", 
    "Sunday", "Tuesday"), class = "factor")), class = "data.frame", 
    row.names = c(NA, -5L))
    

    【讨论】:

      【解决方案2】:

      lubridate 包有这些功能。

      #Using Ronak's Data
      library(lubridate)
      epiweek(mdy(df$DATE))
      #[1]  1  1  1  2 26
      

      您可以通过输入?lubridate::week获取更多信息

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-10
        • 2015-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 2018-12-16
        相关资源
        最近更新 更多