在R中,说我有一些Lubridate日期的向量:
> Date
"2012-01-01 UTC"
"2013-01-01 UTC"
接下来,假设我想看看这些天是几号:
> week(Date)
1
1
Lubridate太棒了!
但是,等等...我正在处理一个包含10,000行数据的时间序列...并且数据跨度为3年。
我一直在努力寻找实现这一目标的方法:
> result of awesome R code here
1
54
问题:在Lubridate的多年周期中,是否有一种简洁的方法可以得出周数列表?更直接地,我希望将第二年的第一周表示为第54周。第三年的第一个星期即第107个星期,即恶心。
到目前为止,我已经尝试了多种哈克尼方案,但是似乎无法创建没有用透明胶带固定的东西。任何建议将不胜感激。提前致谢。
最佳答案
要获取从特定日期到另一个日期的时间间隔,您可以减去...
如果tda
是您的日期向量,则
tda - min(tda)
它们之间的秒数差。
要在几周内拿出单位:
(tda - min(tda))/eweeks(1)
要从特定日期开始:
tda - ymd(19960101)
这给出了从1996年到每个值的天数。
从那里,您可以按每周的天数或每周的秒数进行划分。
(tda - ymd(19960101))/eweeks(1)
从2012年1月开始,仅获取整数部分:
trunc((tda - ymd(20111225))/eweeks(1))
测试数据:
tda = ymd(c(20120101, 20120106, 20130101, 20130108))
输出:
1 1 53 54
关于r - 润滑week()以查找多年期间的连续周号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19780415/