# Progress updates for 'stats' functions

The 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(stats)

    d <- as.dendrogram(hclust(dist(USArrests)))
    d2 <- dendrapply(d, function(n) { Sys.sleep(0.01); n }) |> progressify()

# Introduction

This vignette demonstrates how to use this approach to add progress reporting to functions such as `dendrapply()` in the stats package. For example, consider the `dendrapply()` function, which is commonly used to apply a function to the nodes of a dendrogram, as in:

    d <- as.dendrogram(hclust(dist(USArrests)))
    d2 <- dendrapply(d, function(n) { Sys.sleep(0.01); n })

Here `dendrapply()` provides no feedback on how far it has progressed, but we can easily add progress reporting by using:

    library(progressify)
    handlers(global = TRUE)

    d2 <- dendrapply(d, function(n) { Sys.sleep(0.01); n }) |> progressify()

Using the default progress handler, the progress reporting will appear as:

      |=====                    |  20%

# Supported Functions

The `progressify()` function supports the following stats package functions:

- `dendrapply()`