rset_reconstruct: Extending rsample with new rset subclasses

View source: R/compat-vctrs-helpers.R

rset_reconstructR Documentation

Extending rsample with new rset subclasses


rset_reconstruct() encapsulates the logic for allowing new rset subclasses to work properly with vctrs (through vctrs::vec_restore()) and dplyr (through dplyr::dplyr_reconstruct()). It is intended to be a developer tool, and is not required for normal usage of rsample.


rset_reconstruct(x, to)



A data frame to restore to an rset subclass.


An rset subclass to restore to.


rset objects are considered "reconstructable" after a vctrs/dplyr operation if:

  • x and to both have an identical column named "splits" (column and row order do not matter).

  • x and to both have identical columns prefixed with "id" (column and row order do not matter).


x restored to the rset subclass of to.


to <- bootstraps(mtcars, times = 25)

# Imitate a vctrs/dplyr operation,
# where the class might be lost along the way
x <- tibble::as_tibble(to)

# Say we added a new column to `x`. Here we mock a `mutate()`.
x$foo <- "bar"

# This is still reconstructable to `to`
rset_reconstruct(x, to)

# Say we lose the first row
x <- x[-1, ]

# This is no longer reconstructable to `to`, as `x` is no longer an rset
# bootstraps object with 25 bootstraps if one is lost!
rset_reconstruct(x, to)

rsample documentation built on Aug. 8, 2022, 9:06 a.m.