I’m passing variables to put into formula in Julia from R. The way I construct formula is such:

```
effects = Symbol.(["asd","sdf","dfg"])
effects = :(+$(effects...))
dep_var = Symbol("depend_var")
julia> fm = @eval @formula($(dep_var) ~ $(effects))
Formula: depend_var ~ asd + sdf + dfg
```

The question is, how can I use `zerocorr()`

with such variables?

If I’m passing it like this - `@eval @formula($(var1) ~ zerocorr($(var2)))`

, it does not create a right formula, zerocorr() is not interpreted as a call but is passed literally from what I understand.

First, while that works, it’s not the recommended way to create a formula programmatically; instead, it’s recommended to use `sum(term.(effects))`

. EDIT: here’s the section in the StatsModels.jl docs on this: Modeling tabular data · StatsModels.jl

Second, that probably won’t work with `zerocorr`

right now, because it’s not (easily) possible to create RE terms at run time. Programmatically Creating RE Terms · Issue #462 · JuliaStats/MixedModels.jl · GitHub

Third, keep in mind that `zerocorr`

only makes sense for random effects where there’s more than one random term (intercept and one or more slopes). I don’t know what `var2`

is supposed to be in your example above, but if it’s not something like `:(1 + a | g)`

then `zerocorr`

wouldn’t make any sense anyway…