JuliaStats / GLM.jl

Generalized linear models in Julia

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature request: Allow coef and p-value extraction by variable name

eirikbrandsaas opened this issue · comments

Hi,

It would be great (and safer?) if one could extract coeffecients by variable names:

df = DataFrame(y=rand(3),x=rand(3))
out = reg(df,@formula(y~x))
out.coef[findfirst(isequal("x"),out.coefnames)] # hard to do
out.coef["x"] # would be great
out.coef[:x] # would be great 

Or really any thing like that.

See e.g., https://discourse.julialang.org/t/how-to-obtain-the-pvalues-of-the-coefficients-in-glm-jl/9531/4

I guess in addition to directly delegating coef to the model object in https://github.com/JuliaStats/StatsModels.jl/blob/61de82aa23fb562697fe0f750f6f83ca7be79506/src/statsmodel.jl#L128 we could define e.g.

coef(model, term) = coef(model)[findfirst(==(term), coefnames(model))]
model = fit(Whatever, @formula(y ~ 1 + x), data)
coef(model, :x)  # coefficient for `x`

That could only sensibly support table-based models though, since those are the only ones for which you know the coefficient names. (e.g. this wouldn't work for models fit with an explicit design matrix rather than a formula)

commented

This should be added or at least documented.