Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

roadmap to 1.0 release #271

Open
3 of 5 tasks
kleinschmidt opened this issue Jan 24, 2023 · 8 comments
Open
3 of 5 tasks

roadmap to 1.0 release #271

kleinschmidt opened this issue Jan 24, 2023 · 8 comments

Comments

@kleinschmidt
Copy link
Member

kleinschmidt commented Jan 24, 2023

Current plan is that we'll tag 0.7 ASAP (today probably) and then we commit to tagging 1.0 in one month (so Feb 24). #183 is sufficiently breaking taht we want to make sure that dependencies have time to upgrade and shake out any sneaky bugs that may require further breakage before we commit to 1.0.

For 0.7:

For 1.0: (with possible 0.8 if we want to give dependencies a release to target for upgrades)

@palday
Copy link
Member

palday commented Jan 25, 2023

Packages we need to check (feel free to edit/add to)

@PharmCat
Copy link

Hi! Can you kindly clarify - can #154 be included in 1.0 release plan? I suppose apply_context stage can close some other issues as #268 ...

@PharmCat
Copy link

Here one PR I make for GLM.jl : JuliaStats/GLM.jl#508 for Testing of Between-Subjects Effects, there one problem: it relies very heavily on the internal structures of the types from StatsModels. But I didn't found in StatsModels appropriate functions with methods to access these quantities in a stable way for this code:

"""
    lcontrast(obj, i::Int)

L-contrast matrix for `i` fixed effect.
"""
function lcontrast(obj, i::Int)
    n = length(obj.mf.f.rhs.terms)
    if i > n || n < 1 error("Factor number out of range 1-$(n)") end
    p    = size(obj.mm.m, 2) # number of coefs
    inds = findall(x -> x==i, obj.mm.assign)
    if typeof(obj.mf.f.rhs.terms[i]) <: CategoricalTerm
        mxc   = zeros(size(obj.mf.f.rhs.terms[i].contrasts.matrix, 1), p)
        mxcv  = view(mxc, :, inds)
        mxcv .= obj.mf.f.rhs.terms[i].contrasts.matrix
        mx    = zeros(size(obj.mf.f.rhs.terms[i].contrasts.matrix, 1) - 1, p)
        for i = 2:size(obj.mf.f.rhs.terms[i].contrasts.matrix, 1) # correct for zero-intercept model
            mx[i-1, :] .= mxc[i, :] - mxc[1, :]
        end
    else
        mx = zeros(length(inds), p) # unknown correctness for zero-intercept model
        for j = 1:length(inds)
            mx[j, inds[j]] = 1
        end
    end
    mx
end

tname(t::AbstractTerm) = "$(t.sym)"
tname(t::InteractionTerm) = join(tname.(t.terms), " & ")
tname(t::InterceptTerm) = "(Intercept)"

@kleinschmidt
Copy link
Member Author

Hi! Can you kindly clarify - can #154 be included in 1.0 release plan? I suppose apply_context stage can close some other issues as #268 ...

nope, not on the roadmap. the goal here is to get 1.0 released with essentially what is one master right now and with whatever other simple but breaking changes we've had planned/ready for a while.

#154 is much more speculative and I'm not really convinced it's a good idea still (I think the problem is real, but not sure that that's the solution 😁)

@matthieugomez
Copy link
Contributor

matthieugomez commented Jan 31, 2023

Great to see this update! FixedEffectModels.jl has a PR for v0.7

@PharmCat
Copy link

PharmCat commented Mar 9, 2023

Current plan is that we'll tag 0.7 ASAP (today probably)...

For 0.7:

* [x]  [FunctionTerm is dead, long live FunctionTerm #183](https://github.com/JuliaStats/StatsModels.jl/pull/183)

* [ ]  [Export hasintercept and omitsintercept? #276](https://github.com/JuliaStats/StatsModels.jl/issues/276)

Hi! Is any problem to tag 0.7 now?

@kleinschmidt
Copy link
Member Author

0.7 registration PR opened 🎉 JuliaRegistries/General#79527

@kleinschmidt
Copy link
Member Author

...and merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants