r - 将年周字符串转换为日期

标签 r as.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 天以使事情保持一致)。

关于r - 将年周字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29631363/

相关文章:

r - 选择具有其他列的特定值的列的不同值

r - as.Date 从 'YYYY.mm' 格式

r - 使用 as.Date 和 tryFormats 解析不同格式的日期

r - 如何避免将日期格式的值分配给矩阵或数据框后转换为数字?

r - 将年度数据转换成xts格式

javascript - R传单中的饼图,将计数变为总和并控制更多大小

r - 将参数传递到 RMySQL dbSendQuery

r - 故意用不起作用的 R 代码编写 Markdown 文档

r - 如何在R中的分组条形图中生成堆叠条形图

R将默认原点设置为as.Date