Skip to contents

Replicate a formula with varying parameter values.

Usage

expand_formula(formula, ..., expand = TRUE)

Arguments

formula

A formula.

...

Named parameters to be expanded.

expand

Logical: Expand the “...” arguments (default) or join them element-wise? If expand=TRUE, the vectors in “...” will be expanded, the number of models will equal the product of the lengths of the “...” arguments; otherwise, all “...” arguments must have equal lengths, and the number of models will be equal to their common length.

Value

A list as formulas.

Examples

expand_formula(y ~ ns(x, df = k), k = 1:10)
#> [[1]]
#> y ~ ns(x, df = 1L)
#> <environment: 0x56188b3584e0>
#> 
#> [[2]]
#> y ~ ns(x, df = 2L)
#> <environment: 0x56188b3584e0>
#> 
#> [[3]]
#> y ~ ns(x, df = 3L)
#> <environment: 0x56188b3584e0>
#> 
#> [[4]]
#> y ~ ns(x, df = 4L)
#> <environment: 0x56188b3584e0>
#> 
#> [[5]]
#> y ~ ns(x, df = 5L)
#> <environment: 0x56188b3584e0>
#> 
#> [[6]]
#> y ~ ns(x, df = 6L)
#> <environment: 0x56188b3584e0>
#> 
#> [[7]]
#> y ~ ns(x, df = 7L)
#> <environment: 0x56188b3584e0>
#> 
#> [[8]]
#> y ~ ns(x, df = 8L)
#> <environment: 0x56188b3584e0>
#> 
#> [[9]]
#> y ~ ns(x, df = 9L)
#> <environment: 0x56188b3584e0>
#> 
#> [[10]]
#> y ~ ns(x, df = 10L)
#> <environment: 0x56188b3584e0>
#> 
expand_formula(y ~ I(x^e1) + I(z^e2), e1 = 1:2, e2 = 1:3)
#> [[1]]
#> y ~ I(x^1L) + I(z^1L)
#> <environment: 0x56188b3584e0>
#> 
#> [[2]]
#> y ~ I(x^1L) + I(z^2L)
#> <environment: 0x56188b3584e0>
#> 
#> [[3]]
#> y ~ I(x^1L) + I(z^3L)
#> <environment: 0x56188b3584e0>
#> 
#> [[4]]
#> y ~ I(x^2L) + I(z^1L)
#> <environment: 0x56188b3584e0>
#> 
#> [[5]]
#> y ~ I(x^2L) + I(z^2L)
#> <environment: 0x56188b3584e0>
#> 
#> [[6]]
#> y ~ I(x^2L) + I(z^3L)
#> <environment: 0x56188b3584e0>
#> 
expand_formula(y ~ I(x^e1) + I(z^e2), e1 = 1:3, e2 = 1:3, expand = FALSE)
#> [[1]]
#> y ~ I(x^1L) + I(z^1L)
#> <environment: 0x56188b3584e0>
#> 
#> [[2]]
#> y ~ I(x^2L) + I(z^2L)
#> <environment: 0x56188b3584e0>
#> 
#> [[3]]
#> y ~ I(x^3L) + I(z^3L)
#> <environment: 0x56188b3584e0>
#>