# DataFrame column names into GLM as variable names

**URL:** <https://discourse.julialang.org/t/dataframe-column-names-into-glm-as-variable-names/78422>\
**Category:** General Usage\
**Tags:** glm\
**Created:** [March 24, 2022, 5:36pm UTC](https://discourse.julialang.org/t/dataframe-column-names-into-glm-as-variable-names/78422 "2022-03-24T17:36:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![askvorts](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/askvorts/32/7120_2.png) [@askvorts](https://discourse.julialang.org/u/askvorts)\
**Post date:** [March 24, 2022, 5:36pm UTC](https://discourse.julialang.org/t/dataframe-column-names-into-glm-as-variable-names/78422/1 "2022-03-24T17:36:41Z")

</div>

I would like to use GLM to estimate 500 regressions like

`beta[1] = coef(lm(@formula(AAPL ~ SP500), Stocks))[2]`  
`beta[2] = coef(lm(@formula(AMGN ~ SP500), Stocks))[2]`  
…  
`beta[i] = coef(lm(@formula(col_i ~ SP500), Stocks))[2]`

where Stocks is a `Dataframe` with 501 columns. Column names are `symbols`, but I believe that GLM does not accept symbols (or strings) as variable names.

How may I transform my vector of symbols of 500 column names in such a way that they are accepted by GLM?

Thanks in advance.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [March 24, 2022, 7:33pm UTC](https://discourse.julialang.org/t/dataframe-column-names-into-glm-as-variable-names/78422/2 "2022-03-24T19:33:18Z")

</div>

Sounds a bit like

> **[I just ran four million regressions](https://ideas.repec.org/p/upf/upfgen/201.html)**
>
> In this paper I try to move away from the Extreme Bounds method of identifying \`\`robust'' empirical relations in the economic growth literature. Instead of analyzing the extreme bounds of the estimate

anyway you want:

[https://juliastats.org/StatsModels.jl/stable/formula/#Constructing-a-formula-programmatically](https://juliastats.org/StatsModels.jl/stable/formula/#Constructing-a-formula-programmatically)

i.e. `[coef(lm(term(i) ~ SP500, Stocks))[2] for i in names(Stocks[!, Not(:SP500)])]`

---

<div class="post-metadata">

**Author:** ![askvorts](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/askvorts/32/7120_2.png) [@askvorts](https://discourse.julialang.org/u/askvorts)\
**Post date:** [March 24, 2022, 10:43pm UTC](https://discourse.julialang.org/t/dataframe-column-names-into-glm-as-variable-names/78422/3 "2022-03-24T22:43:38Z")

</div>

Perfect! Thank you very much
