When a specification curve analysis requires the estimation of several thousand models, the procedure can take quite a while. In those cases, it would be nice to have some sort of indicator of the progress (both to feel confident that the procedure is still running and to have an idea of how long the procedure will still take).
To run the specification curve with a progress bar, we need to include pb$tick()
in the model function.
Next, we can use the function progress_bar()
from the package progress. The only thing we need to due is provide the number of ticks (i.e., operations) that will be computed. Attention: If you want to rerun the analysis, you also need to reinitialize this pb
object.
library(progress) # Provide number of ticks pb <- progress_bar$new(format = "[:bar] | :percent (:current/:total) | Finished in:eta", width = 100, total = 192)
# run spec analysis results <- run_specs(example_data, y = c("y1", "y2"), x = c("x1", "x2"), model = "linear", # use customized function controls = c("c1", "c2"), subset = list(group1 = unique(example_data$group1), group2 = unique(example_data$group2)))
The console will show a progress bar during estimation. For more information, see the documentation of the package progress
.