Начиная с версии 0.6.x StatsModels, вы можете создавать термины формул, используя конструкторы терминов, такие как Term
и ConstantTerm
, или используя универсальную функцию term
, которая работает как с числами, так и с символами.Затем эти термины можно объединить с помощью операторов формул, таких как +
, &
и ~
.
. Вот как можно построить простую формулу с использованием конструкторов Term
:
julia> f = Term(:y) ~ ConstantTerm(1) + Term(:x)
FormulaTerm
Response:
y(unknown)
Predictors:
1
x(unknown)
julia> f == @formula(y ~ 1 + x)
true
А вот как вы можете использовать функцию term
для программного создания формулы:
julia> function make_formula(n)
term(:y) ~ sum(term.(Symbol.(string.("x", 1:n))))
end
make_formula (generic function with 1 method)
julia> make_formula(3)
FormulaTerm
Response:
y(unknown)
Predictors:
x1(unknown)
x2(unknown)
x3(unknown)
julia> make_formula(3) == @formula(y ~ x1 + x2 + x3)
true
Подробнее см. Документацию StatsModels здесь .