Google趋势中的周数类型

时间:2016-06-23 13:08:28

标签: r lubridate week-number google-trends

这可能是一个非常基本的问题 我已经下载了Google趋势文件,每行的日期范围是类似于2004-01-04 - 2004-01-10的周格式。这基本上是从周日到周六

这里的伪代码,其中周等于上述格式(2004-01-04 - 2004-01-10)

googledata <- googledata %>%
  mutate(startdate = ymd(substr(Week, 1, 10)),
     enddate = ymd(substr(Week, 14, 26)),
     weekno = isoweek(startdate),
     weekno2 = isoweek(enddate))

样本数据

Week                    Vol
2004-01-04 - 2004-01-10 15
2004-01-11 - 2004-01-17 12
2004-01-18 - 2004-01-24 10
2004-01-25 - 2004-01-31 10
2004-02-01 - 2004-02-07 9
2004-02-08 - 2004-02-14 9

我有两个问题

这是一个特定的周类型,例如ISO。 是否可以使用lubridate或R中的其他一些函数将其转换为周数。问题是使用isoweekweek导致开始和结束日期的分周数

我有第二个数据集我想要匹配,但它使用不同的周数类型,所以我想将它们都转换为Google类型

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

此问题已解决here

您必须将日期转换为POSIXlt对象,然后应用strftime指定周%W参数。在您的示例中,我将创建两个不同的变量,对应于每周的初始日期和最终日期。操作可能更容易。

    Initial      Final
1 04/01/2004 10/01/2004
2 11/01/2004 17/01/2004
3 18/01/2004 24/01/2004
4 25/01/2004 31/01/2004
5 01/02/2004 07/02/2004
6 08/02/2004 14/02/2004

另一种选择可能是创建一个具有周数(example$n_week = rep(1:6)

的变量