Progress updates for 'fwb' functions
Henrik Bengtsson
Source:vignettes/progressify-81-fwb.md
progressify-81-fwb.RmdThe progressify package allows you to easily add
progress reporting to sequential and parallel map-reduce code by piping
to the progressify() function. Easy!
TL;DR
library(progressify)
handlers(global = TRUE)
library(fwb)
# Run fractional weighted bootstrap with progress signaling
my_stat <- function(data, w) coef(lm(mpg ~ cyl, data = data, weights = w))
res <- fwb(data = mtcars, statistic = my_stat, R = 1000) |> progressify()Introduction
This vignette demonstrates how to use this approach to add progress
reporting to the fwb package’s
main function fwb().
The fwb package provides functions for generating
fractional weighted bootstrap replicates. For example,
fwb() runs a statistic function R times:
library(fwb)
my_stat <- function(data, w) coef(lm(mpg ~ cyl, data = data, weights = w))
res <- fwb(data = mtcars, statistic = my_stat, R = 1000)By default, fwb() uses verbose = TRUE,
which provides progress feedback via the pbapply
package, where the style can be controlled via
pbapply::pboptions().
As an alternative, we can use the progressify() function
to report on progress via any combination of progressr
reporters. To do this, use:
library(fwb)
library(progressify)
handlers(global = TRUE)
my_stat <- function(data, w) coef(lm(mpg ~ cyl, data = data, weights = w))
res <- fwb(data = mtcars, statistic = my_stat, R = 1000) |> progressify()Comment: This will disable the built-in progress feedback by setting
verbose = FALSE in order to avoid dual reporting.