繁体   English   中英

将年份周字符串转换为日期

[英]convert year week string to date

我的数据集中有一列字符串,其格式设置为年份星期(例如,“ 201401”等于2014年4月7日,即一年的第一个会计周)

我正在尝试将它们转换为适当的日期,以便以后可以使用它们,但是我总是收到给定年份(特别是4月14日)的圣母日。

例如

test_set <- c('201401', '201402', '201403')
as.Date(test_set, '%Y%U')

给我:

[1] "2014-04-14" "2014-04-14" "2014-04-14"

尝试这样的事情:

> test_set <- c('201401', '201402', '201403')
> 
> extractDate <- function(dateString, fiscalStart = as.Date("2014-04-01")) {
+   week <- substr(dateString, 5, 6)
+   currentDate <- fiscalStart + 7 * as.numeric(week) - 1
+   currentDate
+ }
> 
> extractDate(test_set)
[1] "2014-04-07" "2014-04-14" "2014-04-21"

基本上,我要从年初开始提取几周,将其转换为几天,然后将该天数添加到会计年度的开始(少于1天以使事情排成一行)。

无法100%确定所需的输出是什么,但这可能有效

as.Date(paste0(substr(test_set, 1, 4), "-04-07")) +   
    (as.numeric(substr(test_set, 5, 6)) - 1) * 7

# [1] "2014-04-07" "2014-04-14" "2014-04-21"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM