No, because the results don't have the information needed to fit the stack.
Sure. Here is some code:
library(stacks)
library(tidymodels)
#> Registered S3 method overwritten by 'tune':
#> method from
#> required_pkgs.model_spec parsnip
tidymodels_prefer()
theme_set(theme_bw())
reg_st <-
stacks() %>%
add_candidates(reg_res_lr) %>%
add_candidates(reg_res_svm) %>%
add_candidates(reg_res_sp) %>%
blend_predictions() %>% # <- defines what is in the ensemble
fit_members() # <- creates all of the model fits
reg_st
#> ── A stacked ensemble model ─────────────────────────────────────
#>
#> Out of 15 possible candidate members, the ensemble retained 4.
#> Penalty: 0.1.
#> Mixture: 1.
#>
#> The 4 highest weighted members are:
#> # A tibble: 4 × 3
#> member type weight
#> <chr> <chr> <dbl>
#> 1 reg_res_svm_1_5 svm_rbf 2.64
#> 2 reg_res_svm_1_3 svm_rbf 0.675
#> 3 reg_res_svm_1_1 svm_rbf 0.302
#> 4 reg_res_sp_2_1 linear_reg 0.236
length(reg_st$member_fits)
#> [1] 4
model_objects <-
# models are in member_fits
reg_st$member_fits %>%
# pull out the underlying fit objects
map(extract_fit_engine)
map_chr(model_objects, ~ class(.x)[1])
#> reg_res_svm_1_5 reg_res_svm_1_3 reg_res_svm_1_1 reg_res_sp_2_1
#> "ksvm" "ksvm" "ksvm" "lm"
Created on 2021-10-29 by the reprex package (v2.0.0)