anova() computes an incremental F-test across two or more fitted linear
models. It dispatches on four input types:
Details
A
multi_lazyfromwrite_models() |> prepare_model().An
anova_lazyfromwrite_models() |> prepare_model()(legacy path, kept for backward compatibility).One or more
model_lazyobjects fromprepare_model().One or more
cld_execobjects fromconclude().
Examples
# via write_models()
LifeCycleSavings |>
write_models(
f1 = sr ~ 1,
f2 = sr ~ pop15,
f3 = sr ~ pop15 + pop75,
f4 = sr ~ pop15 + pop75 + dpi,
f5 = sr ~ pop15 + pop75 + dpi + ddpi
) |>
prepare_model(LINEAR_REG) |>
anova()
#>
#> == ANOVA · F ===================================================================
#>
#> -- ANOVA Table -----------------------------------------------------------------
#>
#> ───────────────────────────────────────────────────────────
#> model res_df deviance df dev_diff f_value p_value
#> ───────────────────────────────────────────────────────────
#> f1 49 983.628
#> f2 48 779.511 1 204.118 14.116 <0.001
#> f3 47 726.168 1 53.343 3.689 0.061
#> f4 46 713.767 1 12.401 0.858 0.359
#> f5 45 650.713 1 63.054 4.360 0.042
#> ───────────────────────────────────────────────────────────
#>
#>
# via model_lazy
mod1 = LifeCycleSavings |> define_model(sr ~ 1) |> prepare_model(LINEAR_REG)
mod2 = LifeCycleSavings |> define_model(sr ~ pop15) |> prepare_model(LINEAR_REG)
anova(mod1, mod2)
#>
#> == ANOVA · F ===================================================================
#>
#> -- ANOVA Table -----------------------------------------------------------------
#>
#> ───────────────────────────────────────────────────────────
#> model res_df deviance df dev_diff f_value p_value
#> ───────────────────────────────────────────────────────────
#> 1 49 983.628
#> 2 48 779.511 1 204.118 12.569 <0.001
#> ───────────────────────────────────────────────────────────
#>
#>
# via conclude()
mod1 = LifeCycleSavings |> define_model(sr ~ 1) |> prepare_model(LINEAR_REG) |> conclude()
mod2 = LifeCycleSavings |> define_model(sr ~ pop15) |> prepare_model(LINEAR_REG) |> conclude()
anova(mod1, mod2)
#>
#> == ANOVA · F ===================================================================
#>
#> -- ANOVA Table -----------------------------------------------------------------
#>
#> ───────────────────────────────────────────────────────────
#> model res_df deviance df dev_diff f_value p_value
#> ───────────────────────────────────────────────────────────
#> 1 49 983.628
#> 2 48 779.511 1 204.118 12.569 <0.001
#> ───────────────────────────────────────────────────────────
#>
#>
anova(mod1, mod2, test = "LRT")
#>
#> == ANOVA · LRT =================================================================
#>
#> -- ANOVA Table -----------------------------------------------------------------
#>
#> ───────────────────────────────────────────────────────────────
#> model res_df deviance df dev_diff chisq_value p_value
#> ───────────────────────────────────────────────────────────────
#> 1 49 983.628
#> 2 48 779.511 1 204.118 12.569 <0.001
#> ───────────────────────────────────────────────────────────────
#>
#>