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

... arguments to be captured, and later passed to the handler a tidy-in, tidy-out function a string describing the step

Value

A function that returns a data.frame.

Examples


population <- declare_population(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.13784499  1.2946912297    0
#> 2  2  0.02228142  0.0004964616    0
#> 3  3 -0.54494280  0.2969626547    0
#> 4  4 -0.03784445  0.0014322023    0
#> 5  5 -1.11207903  1.2367197670    0