Extraction of a model and multimodel
extract_model.Rd
extract_model()
extracts a model from a “multimodel” or “cv” object.
extract_multimodel()
extracts the multimodel from a “cv” object.
Usage
extract_model(x, which, ...)
# S3 method for multimodel
extract_model(x, which, use_cv_info = TRUE, ...)
# S3 method for cv
extract_model(x, which, use_cv_info = TRUE, ...)
extract_multimodel(x, ...)
# S3 method for cv
extract_multimodel(x, use_cv_info = TRUE, ...)
Arguments
- x
A “multimodel” or “cv” object.
- which
Selection of one model: An integer value or a logical vector of length
n_model(x)
having exactly oneTRUE
, or a character value (selection by name, a model'slabel
). Ifn_model(x)==1
, the only model is selected by default.- ...
Arguments passed from or to methods.
- use_cv_info
Logical: Whether to set the preferred iteration according to results from the cross-validation (if these are present). Relevant only for iteratively fitted models (ifm).
Value
extract_model()
returns a model
,
extract_multimodel()
returns a multimodel
.
Examples
mm_swiss <- c(model(lm(Fertility ~ Education, swiss)),
model(lm(Fertility ~ Education + I(Education^2) , swiss)))
cv_swiss <- cv(mm_swiss)
extract_model(mm_swiss, 1) # a model
#> --- A “model” object ---
#> label: model
#> model class: lm
#> formula: Fertility ~ Education
#> data: data.frame [47 x 6],
#> input as: ‘data = swiss’
#> response_type: continuous
#> call: lm(formula = Fertility ~ Education, data = data)
#> fit: Object of class ‘lm’
subset(mm_swiss, 1) # a multimodel
#> --- A “multimodel” object containing 1 model ---
#>
#> ‘model’:
#> model class: lm
#> formula: Fertility ~ Education
#> data: data.frame [47 x 6],
#> input as: ‘data = swiss’
#> call: lm(formula = Fertility ~ Education, data = data)
extract_model(cv_swiss, 1) # a model
#> --- A “model” object ---
#> label: model
#> model class: lm
#> formula: Fertility ~ Education
#> data: data.frame [47 x 6],
#> input as: ‘data = swiss’
#> response_type: continuous
#> call: lm(formula = Fertility ~ Education, data = data)
#> fit: Object of class ‘lm’
extract_multimodel(cv_swiss, 1) # a multimodel
#> --- A “multimodel” object containing 2 models ---
#>
#> ‘model’:
#> model class: lm
#> formula: Fertility ~ Education
#> data: data.frame [47 x 6],
#> input as: ‘data = swiss’
#> call: lm(formula = Fertility ~ Education, data = data)
#>
#> ‘model1’:
#> model class: lm
#> formula: Fertility ~ Education + I(Education^2)
#> data: data.frame [47 x 6],
#> input as: ‘data = swiss’
#> call: lm(formula = Fertility ~ Education + I(Education^2),
#> data = data)
subset(cv_swiss, 1) # a cv
#> --- A “cv” object containing 1 validated model ---
#>
#> Validation procedure: Complete k-fold Cross-Validation
#> Number of obs in data: 47
#> Number of test sets: 10
#> Size of test sets: ~5
#> Size of training sets: ~42
#>
#> Model:
#>
#> ‘model’:
#> model class: lm
#> formula: Fertility ~ Education
#> metric: rmse