Установите данные для использования Prophet () в R - PullRequest
0 голосов
/ 10 октября 2019

Я хочу использовать функцию Prophet () в R, но я не могу преобразовать свой столбец YearWeek в столбец as.Date ().

У меня есть столбец YearWeek, в котором хранятся значения из201401 до 201937, т.е. начиная с недели 2014 до 37 недели 2019.

Я не знаю, как объявить этот столбец как дату в форме yyyy-ww, необходимой для использования функции Prophet ().

Кто-нибудь знает, как это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 10 октября 2019

Одним из решений может быть добавление 01 к концу ваших yyyy-ww отформатированных дат.

Данные:

library(tidyverse)

df <- cross2(2014:2019, str_pad(1:52, width = 2, pad = 0)) %>%
  map_df(set_names, c("year", "week")) %>%
  transmute(date = paste(year, week, sep = "")) %>% 
  arrange(date)

head(df)
#> # A tibble: 6 x 1
#>   date  
#>   <chr> 
#> 1 201401
#> 2 201402
#> 3 201403
#> 4 201404
#> 5 201405
#> 6 201406

Теперь давайте добавим 01 и преобразуемна сегодняшний день:

df %>% 
  mutate(date = paste(date, "01", sep = ""),
         new_date = as.Date(date, "%Y%U%w"))
#> # A tibble: 312 x 2
#>    date     new_date  
#>    <chr>    <date>    
#>  1 20140101 2014-01-05
#>  2 20140201 2014-01-12
#>  3 20140301 2014-01-19
#>  4 20140401 2014-01-26
#>  5 20140501 2014-02-02
#>  6 20140601 2014-02-09
#>  7 20140701 2014-02-16
#>  8 20140801 2014-02-23
#>  9 20140901 2014-03-02
#> 10 20141001 2014-03-09
#> # ... with 302 more rows

Создано в 2019-10-10 пакетом представить (v0.3.0)

Подробнее очисловую неделю года можно найти здесь .

...