Itβs not clear to me what list
and list_2
are, and the fact that you are calling reg
suggests that you are using some additional package (although as long as it relies on StatsModels youβll be fine).
The case when both right hand side and left hand side variables come from some sort of iterator is a straightforward extension of what I posted above:
julia> using DataFrames, GLM
julia> df = DataFrame([:y1, :y2, :x1, :x2, :x3] .=> eachcol(rand(3, 5)))
3Γ5 DataFrame
Row β y1 y2 x1 x2 x3
β Float64 Float64 Float64 Float64 Float64
ββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββ
1 β 0.406401 0.974452 0.57843 0.553727 0.816638
2 β 0.429666 0.873084 0.808852 0.0404561 0.728702
3 β 0.998661 0.865624 0.269401 0.6146 0.630912
julia> rhs = ["y1", "y2"]; lhs = ["x1", "x2", "x3"];
julia> for y β rhs
for x β lhs
println(lm(term(y) ~ term(x), df))
end
end
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y1 ~ 1 + x1
Coefficients:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 1.22034 0.336678 3.62 0.1714 -3.05755 5.49824
x1 -1.10239 0.566025 -1.95 0.3020 -8.29441 6.08964
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y1 ~ 1 + x2
Coefficients:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 0.374734 0.423848 0.88 0.5391 -5.01076 5.76023
x2 0.587803 0.886367 0.66 0.6272 -10.6746 11.8502
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y1 ~ 1 + x3
Coefficients:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 2.96036 1.16501 2.54 0.2387 -11.8425 17.7632
x3 -3.23784 1.59728 -2.03 0.2918 -23.5332 17.0575
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y2 ~ 1 + x1
Coefficients:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 0.886426 0.132183 6.71 0.0942 -0.793119 2.56597
x1 0.0325252 0.222227 0.15 0.9075 -2.79114 2.85619
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y2 ~ 1 + x2
Coefficients:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 0.876624 0.0860848 10.18 0.0623 -0.217188 1.97044
x2 0.0689036 0.180024 0.38 0.7673 -2.21852 2.35632
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
StatsModels.TableRegressionModel{LinearModel{GLM.LmResp{Vector{Float64}}, GLM.DensePredChol{Float64, LinearAlgebra.CholeskyPivoted{Float64, Matrix{Float64}, Vector{Int64}}}}, Matrix{Float64}}
y2 ~ 1 + x3
Coefficients:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Coef. Std. Error t Pr(>|t|) Lower 95% Upper 95%
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
(Intercept) 0.4862 0.225802 2.15 0.2768 -2.38289 3.35529
x3 0.576478 0.309584 1.86 0.3137 -3.35716 4.51012
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
As a general rule of thumb, if you find yourself using @eval
youβre likely doing it wrong.