A quoted formula, will be used to fit the null model.
Examples
# Instantiate
x <- rand_uniform()
e <- rand_normal()
test <- vi_model(prm = list(x = x, e = e),
prm_type = list(x = "r", e = "r"),
formula = y ~ 1 + x + x^2 + e,
null_formula = y ~ x,
alt_formula = y ~ x + I(x^2))
# A formula with environment equals to `test`
test$null_formula
#> y ~ x
# By default, `fit` use the null formula
test$fit(test$gen(10))
#>
#> Call:
#> stats::lm(formula = y ~ x, data = test$gen(10))
#>
#> Coefficients:
#> (Intercept) x
#> 0.3399 3.9126
#>
# F-test also needs to use the null model
test$test(test$gen(1000))
#> $name
#> [1] "F-test"
#>
#> $statistic
#> [1] 2.883157
#>
#> $p_value
#> [1] 0.08982242
#>