Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在POSIXlt中提取周数_R_Date_Datetime_Rstudio_Posixct - Fatal编程技术网

R 在POSIXlt中提取周数

R 在POSIXlt中提取周数,r,date,datetime,rstudio,posixct,R,Date,Datetime,Rstudio,Posixct,我试图在我的数据中创建一个“周”列,但无法确定如何将第一周的第一天(从2018年12月30日星期日开始)正确分配到2019年第一周 2018年12月30日是周日,我想将其分配到2019年第1周的第一天;在网上搜索太久之后,我想我应该在这里问一下 如果您需要更清晰的信息: DATE DAY WEEK 12/30/2018 Sunday 01 (first day of week 1) 12/31/2018 M

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

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)
    .                  .          .
    .                  .          .
    .                  .          .

转换为日期,然后使用
格式
并进行调整以获得预期输出

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))

df
lubridate
软件包具有这些功能

#Using Ronak's Data
library(lubridate)
epiweek(mdy(df$DATE))
#[1]  1  1  1  2 26
您可以通过键入
?lubridate::week
获得更多信息