2

如何“打开”慢速model()的进度条?根据fablefabletools的发展,这似乎是一个选项......但我无法打开它。

有人可以告诉我我错过了什么吗?

Sys.setenv(TZ = "Etc/UCT")
library(tidyverse)
library(fable)
#> Loading required package: fabletools
library(tictoc)

getOption("fable.show_progress")
#> [1] TRUE
getOption("fable.progress_bar")
#> NULL
options(fable.progress_bar = TRUE)

# Prepare data
aus <- tsibbledata::hh_budget %>% 
  filter(Country == "Australia") %>% 
  select(-Country)

# Create list of all possible combinations
subsets_list <- function(set, subset_size) {
  combn(set, subset_size) %>%
    BBmisc::convertColsToList() %>%
    unname()
}

# All possible aus variable combinations
xregs <-
  map(.x = 1:(length(aus) - 2), .f = subsets_list, 
      set = colnames(aus[3:length(aus)])) %>% 
  unlist(recursive = F)


# Construct formulas
rhs <- map_chr(seq_along(xregs), ~ paste(xregs[[.]], collapse = " + "))
lhs <- "Debt"
formulas <- map(paste(lhs, rhs, sep = " ~ "), as.formula)

# Create model specifications
model_specs <- set_names(map(formulas, ARIMA), formulas)

# Estimate models
tic()
aus %>%
  model(!!!model_specs)
#> # A mable: 1 x 31
#>                   `Debt ~ DI`        `Debt ~ Expenditure`
#>                       <model>                     <model>
#> 1 <LM w/ ARIMA(1,1,0) errors> <LM w/ ARIMA(1,1,0) errors>
#> # ... with 29 more variables: `Debt ~ Savings` <model>, `Debt ~
toc()
#> 8.39 sec elapsed

reprex 包于 2021-01-15 创建(v0.3.0)

4

1 回答 1

3

with_progress()可以通过使用包中的代码包装您的代码来启用进度条progressr。进一步的定制也可以从进度包文档中找到:https ://cran.r-project.org/web/packages/progressr/index.html

library(fable)
progressr::with_progress(
  tsibbledata::PBS %>% 
    model(SNAIVE(Cost))
)
于 2021-01-17T10:32:51.980 回答