These functions help construct calls to various types of models.
Usage
construct_model(data, ...)
# S3 method for data.frame
construct_model(
data,
formula,
method,
method.args = list(),
package = "base",
env = caller_env(),
...
)
# S3 method for survey.design
construct_model(
data,
formula,
method,
method.args = list(),
package = "survey",
env = caller_env(),
...
)
reformulate2(
termlabels,
response = NULL,
intercept = TRUE,
pattern_term = "[ \n\r]",
pattern_response = "[ \n\r]",
env = parent.frame()
)
bt(x, pattern = "[ \n\r]")
bt_strip(x)
Arguments
- data
construct_model.data.frame()
(data.frame
) a data frameconstruct_model.survey.design()
(survey.design
) a survey design object
- ...
These dots are for future extensions and must be empty.
- formula
(
formula
)
a formula- method
(
string
)
string of function naming the function to be called, e.g."glm"
. If function belongs to a library that is not attached, the package name must be specified in thepackage
argument.- method.args
-
(named
list
)
named list of arguments that will be passed tomethod
.Note that this list may contain non-standard evaluation components. If you are wrapping this function in other functions, the argument must be passed in a way that does not evaluate the list, e.g. using rlang's embrace operator
{{ . }}
. - package
(
string
)
string of package name that will be temporarily loaded when function specified inmethod
is executed.- env
The environment in which to evaluate
expr
. This environment is not applicable for quosures because they have their own environments.- termlabels
character vector giving the right-hand side of a model formula. Cannot be zero-length.
- response
character string, symbol or call giving the left-hand side of a model formula, or
NULL
.- intercept
logical: should the formula have an intercept?
- pattern_term, pattern_response
passed to
bt(pattern)
for argumentsstats::reformulate(termlabels, response)
.- x
(
character
)
character vector, typically of variable names- pattern
(
string
)
regular expression string. If the regex matches, backticks are added to the string. WhenNULL
, backticks are not added.
Details
construct_model()
: Builds models of the formmethod(data = data, formula = formula, method.args!!!)
. If thepackage
argument is specified, that package is temporarily attached when the model is evaluated.reformulate2()
: This is a copy ofreformulate()
except that variable names that contain a space are wrapped in backticks.bt()
: Adds backticks to a character vector.bt_strip()
: Removes backticks from a string if it begins and ends with a backtick.
Examples
construct_model(
data = mtcars,
formula = am ~ mpg + (1 | vs),
method = "glmer",
method.args = list(family = binomial),
package = "lme4"
) |>
broom.mixed::tidy()
#> # A tibble: 3 × 7
#> effect group term estimate std.error statistic p.value
#> <chr> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
#> 1 fixed NA (Intercept) -8.70 4.12 -2.11 0.0347
#> 2 fixed NA mpg 0.409 0.199 2.05 0.0403
#> 3 ran_pars vs sd__(Intercept) 0.790 NA NA NA
construct_model(
data = mtcars |> dplyr::rename(`M P G` = mpg),
formula = reformulate2(c("M P G", "cyl"), response = "hp"),
method = "lm"
) |>
ard_regression() |>
dplyr::filter(stat_name %in% c("term", "estimate", "p.value"))
#> {cards} data frame: 6 x 6
#> variable context stat_name stat_label stat fmt_fn
#> 1 M P G regressi… term term `M P G` NULL
#> 2 M P G regressi… estimate Coeffici… -2.775 1
#> 3 M P G regressi… p.value p-value 0.213 1
#> 4 cyl regressi… term term cyl NULL
#> 5 cyl regressi… estimate Coeffici… 23.979 1
#> 6 cyl regressi… p.value p-value 0.003 1