Skip to contents

Generate a table with time series

Usage

gen_table(
  x,
  tbl_start = as.character(Sys.Date() - lubridate::years(10)),
  tbl_end = as.character(Sys.Date() + lubridate::years(2)),
  percent = "pc",
  time_across = TRUE,
  tbl_height = 800,
  save_loc = NULL
)

Arguments

x

a ts-boxable object

tbl_start

start period for table

tbl_end

end period for table

percent

what type of percent should be added ("none", "pc" (default), "pcy", "pca")

time_across

should time be in column headers and variable names in first column (default TRUE)

tbl_height

the height of the table in px (default 800)

save_loc

file path for saving table incl. extension ("html" or "csv") (default NULL)

Value

table formatted for output

Examples

quarterly_data_example %>%
  tsbox::ts_long() %>%
  tsbox::ts_tslist() %>%
  gen_table()
#> # A tibble: 60 × 39
#>    id           `2015-10-01` `2016-01-01` `2016-04-01` `2016-07-01` `2016-10-01`
#>    <chr>               <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
#>  1 EAD_HI              40.3         39.4         39.2         39.3         39.0 
#>  2 EAD_HI (%)          -0.08        -2.31        -0.59         0.26        -0.76
#>  3 EAFAC_HI            40.4         40.9         41.1         41.1         41.5 
#>  4 EAFAC_HI (%)         1.01         1.24         0.63        -0.07         0.89
#>  5 EAFFD_HI            67.1         67.2         68.0         68.9         69.4 
#>  6 EAFFD_HI (%)         1.25         0.19         1.09         1.38         0.76
#>  7 EAF_HI             107.         108.         109.         110          111.  
#>  8 EAF_HI (%)           1.16         0.58         0.92         0.83         0.81
#>  9 ECT_HI              38.4         39.4         39.4         39.3         38.4 
#> 10 ECT_HI (%)           5.28         2.5         -0.02        -0.15        -2.31
#> # ℹ 50 more rows
#> # ℹ 33 more variables: `2017-01-01` <dbl>, `2017-04-01` <dbl>,
#> #   `2017-07-01` <dbl>, `2017-10-01` <dbl>, `2018-01-01` <dbl>,
#> #   `2018-04-01` <dbl>, `2018-07-01` <dbl>, `2018-10-01` <dbl>,
#> #   `2019-01-01` <dbl>, `2019-04-01` <dbl>, `2019-07-01` <dbl>,
#> #   `2019-10-01` <dbl>, `2020-01-01` <dbl>, `2020-04-01` <dbl>,
#> #   `2020-07-01` <dbl>, `2020-10-01` <dbl>, `2021-01-01` <dbl>, …
gen_table(quarterly_data_example)
#> # A tibble: 60 × 39
#>    id           `2015-10-01` `2016-01-01` `2016-04-01` `2016-07-01` `2016-10-01`
#>    <chr>               <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
#>  1 EAD_HI              40.3         39.4         39.2         39.3         39.0 
#>  2 EAD_HI (%)          -0.08        -2.31        -0.59         0.26        -0.76
#>  3 EAFAC_HI            40.4         40.9         41.1         41.1         41.5 
#>  4 EAFAC_HI (%)         1.01         1.24         0.63        -0.07         0.89
#>  5 EAFFD_HI            67.1         67.2         68.0         68.9         69.4 
#>  6 EAFFD_HI (%)         1.25         0.19         1.09         1.38         0.76
#>  7 EAF_HI             107.         108.         109.         110          111.  
#>  8 EAF_HI (%)           1.16         0.58         0.92         0.83         0.81
#>  9 ECT_HI              38.4         39.4         39.4         39.3         38.4 
#> 10 ECT_HI (%)           5.28         2.5         -0.02        -0.15        -2.31
#> # ℹ 50 more rows
#> # ℹ 33 more variables: `2017-01-01` <dbl>, `2017-04-01` <dbl>,
#> #   `2017-07-01` <dbl>, `2017-10-01` <dbl>, `2018-01-01` <dbl>,
#> #   `2018-04-01` <dbl>, `2018-07-01` <dbl>, `2018-10-01` <dbl>,
#> #   `2019-01-01` <dbl>, `2019-04-01` <dbl>, `2019-07-01` <dbl>,
#> #   `2019-10-01` <dbl>, `2020-01-01` <dbl>, `2020-04-01` <dbl>,
#> #   `2020-07-01` <dbl>, `2020-10-01` <dbl>, `2021-01-01` <dbl>, …
gen_table(quarterly_data_example, percent = "none")
#> # A tibble: 30 × 39
#>    id           `2015-10-01` `2016-01-01` `2016-04-01` `2016-07-01` `2016-10-01`
#>    <chr>               <dbl>        <dbl>        <dbl>        <dbl>        <dbl>
#>  1 EAD_HI               40.3         39.4         39.2         39.3         39.0
#>  2 EAFAC_HI             40.4         40.9         41.1         41.1         41.5
#>  3 EAFFD_HI             67.1         67.2         68.0         68.9         69.4
#>  4 EAF_HI              107.         108.         109.         110          111. 
#>  5 ECT_HI               38.4         39.4         39.4         39.3         38.4
#>  6 EED_HI               15.3         14.6         14.6         14.9         14.4
#>  7 EFI_HI               16.3         16.3         16.2         16.3         16.4
#>  8 EGVFD_HI             33.0         32.9         33.1         33.3         33.4
#>  9 EGVLC_HI             18.8         19.0         19           19.0         18.9
#> 10 EGVSTEDNS_HI         51.9         50.9         51.6         43.9         52.4
#> # ℹ 20 more rows
#> # ℹ 33 more variables: `2017-01-01` <dbl>, `2017-04-01` <dbl>,
#> #   `2017-07-01` <dbl>, `2017-10-01` <dbl>, `2018-01-01` <dbl>,
#> #   `2018-04-01` <dbl>, `2018-07-01` <dbl>, `2018-10-01` <dbl>,
#> #   `2019-01-01` <dbl>, `2019-04-01` <dbl>, `2019-07-01` <dbl>,
#> #   `2019-10-01` <dbl>, `2020-01-01` <dbl>, `2020-04-01` <dbl>,
#> #   `2020-07-01` <dbl>, `2020-10-01` <dbl>, `2021-01-01` <dbl>, …
gen_table(quarterly_data_example, percent = "pcy", time_across = FALSE)
#> # A tibble: 38 × 61
#>    time       EAD_HI `EAD_HI (YoY%)` EAFAC_HI `EAFAC_HI (YoY%)` EAFFD_HI
#>    <date>      <dbl>           <dbl>    <dbl>             <dbl>    <dbl>
#>  1 2015-10-01   40.3           -1.06     40.4              0.93     67.1
#>  2 2016-01-01   39.4           -3.27     40.9              2        67.2
#>  3 2016-04-01   39.2           -3.29     41.1              3.01     68.0
#>  4 2016-07-01   39.3           -2.73     41.1              2.83     68.9
#>  5 2016-10-01   39.0           -3.39     41.5              2.71     69.4
#>  6 2017-01-01   39             -1.02     41.8              2.37     70.7
#>  7 2017-04-01   39.0           -0.34     42.5              3.33     71.2
#>  8 2017-07-01   39.2           -0.25     42.5              3.36     71.7
#>  9 2017-10-01   38.9           -0.26     43.0              3.6      71.6
#> 10 2018-01-01   38.7           -0.85     42.9              2.49     71.4
#> # ℹ 28 more rows
#> # ℹ 55 more variables: `EAFFD_HI (YoY%)` <dbl>, EAF_HI <dbl>,
#> #   `EAF_HI (YoY%)` <dbl>, ECT_HI <dbl>, `ECT_HI (YoY%)` <dbl>, EED_HI <dbl>,
#> #   `EED_HI (YoY%)` <dbl>, EFI_HI <dbl>, `EFI_HI (YoY%)` <dbl>, EGVFD_HI <dbl>,
#> #   `EGVFD_HI (YoY%)` <dbl>, EGVLC_HI <dbl>, `EGVLC_HI (YoY%)` <dbl>,
#> #   EGVSTEDNS_HI <dbl>, `EGVSTEDNS_HI (YoY%)` <dbl>, EGVST_HI <dbl>,
#> #   `EGVST_HI (YoY%)` <dbl>, EGV_HI <dbl>, `EGV_HI (YoY%)` <dbl>, …
if (FALSE) { # interactive()
gen_table(quarterly_data_example,
  percent = "pcy",
  time_across = FALSE, save_loc = "~/Downloads/temp.csv"
)
gen_table(quarterly_data_example,
  percent = "pcy", time_across = TRUE,
  save_loc = "~/Downloads/temp.html"
)
}