Построение годовой недели из года (двойной) и номера недели (символ) - PullRequest
0 голосов
/ 17 марта 2020

Вот пример моих данных

# A tibble: 300 x 5
    year week  department_id media_tpv mediana_tpv
   <dbl> <chr>         <dbl>     <dbl>       <dbl>
 1  2019 00                3      90.4         65 
 2  2019 00                5     194.         117.
 3  2019 00               65     173.         117.
 4  2019 00               93     183.         105 

Теперь, скажем, я хочу построить из него индекс tsibble::yearweek(). Я попытался вставить год и неделю вместе, а затем передать его на yearweek(), но он не смог правильно проанализировать.

dput:

df <- structure(list(year = c(2019, 2019, 2019, 2019), week = c("00", 
"00", "00", "00"), department_id = c(3, 5, 65, 93), media_tpv = c(90.4, 
194, 173, 183), mediana_tpv = c(65, 117, 117, 105)), row.names = c(NA, 
-4L), class = c("tbl_df", "tbl", "data.frame"))

1 Ответ

1 голос
/ 17 марта 2020

Вам просто нужно привести два столбца в формат, который ищет yearweek:

df$week <- paste0('W', df$week)
df$yearweek <- paste0(df$year, ' ', df$week)
yearweek_column <- yearweek(df$yearweek)

Затем вы можете проверить:

print(yearweek)

Что дает вам:

[1] "2018 W52" "2018 W52" "2018 W52" "2018 W52"

tidyverse решение:

df %>%
  mutate(week = paste0('W', week),
         yearweek = paste0(year, ' ', week),
         yearweek_column = yearweek(yearweek))
...