With declare_step, you can include any function that takes data as one of its arguments and returns data in a design declaration. The first argument is always a "handler", which is the name of the data-in, data-out function.
For handy data manipulations use declare_step(fabricate, ...)
.
declare_step(
...,
handler = function(data, ...f, ...) ...f(data, ...),
label = NULL
)
arguments to be captured, and later passed to the handler
a tidy-in, tidy-out function
a string describing the step
A function that returns a data.frame.
population <- declare_model(N = 5, noise = rnorm(N))
manipulate <- declare_step(fabricate, noise_squared = noise^2, zero = 0)
design <- population + manipulate
draw_data(design)
#> ID noise noise_squared zero
#> 1 1 -1.3166313 1.73351811 0
#> 2 2 -0.1788751 0.03199629 0
#> 3 3 1.3840126 1.91549075 0
#> 4 4 1.4449567 2.08789998 0
#> 5 5 0.4042621 0.16342787 0