auto apply `Grouping()` to grouping variables
- [x] add entry in NEWS.md
- [x] after opening this PR, add a reference and run
docs/NEWS-update.jlto update the cross-references. - [ ] I've bumped the version appropriately
Codecov Report
Patch coverage is 100.00% of modified lines.
| Files Changed | Coverage |
|---|---|
| src/MixedModels.jl | ø |
| src/grouping.jl | 100.00% |
| src/linearmixedmodel.jl | 100.00% |
| src/randomeffectsterm.jl | 100.00% |
| src/schema.jl | 100.00% |
:loudspeaker: Thoughts on this report? Let us know!.
@kleinschmidt I should update the comment, but it does work with interaction and nesting terms as grouping variables. For the cases where you want to override it (i.e., a variable appearing in a grouping term and in the fixed effects), the OOM is going to happen anyway when you compute the contrasts for the fixed effects. So I think that bit is okay.
I also think it feels wonky and brittle though. If I had a less brittle way to do it, I would it! I was hoping you had some insight. 😄
Benchmark Report for /home/runner/work/MixedModels.jl/MixedModels.jl
Job Properties
- Time of benchmarks:
- Target: 1 Sep 2023 - 15:54
- Baseline: 1 Sep 2023 - 16:00
- Package commits:
- Target: f68dcc
- Baseline: d2a05a
- Julia commits:
- Target: bed2cd
- Baseline: bed2cd
- Julia command flags:
- Target: None
- Baseline:
-Cnative,-J/opt/hostedtoolcache/julia/1.9.3/x64/lib/julia/sys.so,-g1,-O3,-e,using Pkg; Pkg.update(); Pkg.add(["BenchmarkTools", "StatsModels"])
- Environment variables:
- Target: None
- Baseline: None
Results
A ratio greater than 1.0 denotes a possible regression (marked with :x:), while a ratio less
than 1.0 denotes a possible improvement (marked with :white_check_mark:). Only significant results - results
that indicate possible regressions or improvements - are shown below (thus, an empty table means that all
benchmark results remained invariant between builds).
| ID | time ratio | memory ratio |
|---|---|---|
["crossed", "kb07:1"] |
0.00 (5%) :white_check_mark: | 0.00 (1%) :white_check_mark: |
["crossed", "machines:1"] |
1.09 (5%) :x: | 1.09 (1%) :x: |
["crossed", "ml1m:1"] |
0.92 (5%) :white_check_mark: | 0.77 (1%) :white_check_mark: |
["crossed", "mrk17_exp1:1"] |
0.01 (5%) :white_check_mark: | 0.18 (1%) :white_check_mark: |
["crossed", "penicillin:1"] |
1.06 (5%) :x: | 1.05 (1%) :x: |
["crossedvector", "d3:1"] |
0.79 (5%) :white_check_mark: | 0.51 (1%) :white_check_mark: |
["crossedvector", "kb07:2"] |
1.16 (5%) :x: | 1.03 (1%) :x: |
["crossedvector", "kb07:3"] |
1.00 (5%) | 1.02 (1%) :x: |
["crossedvector", "mrk17_exp1:2"] |
0.90 (5%) :white_check_mark: | 0.65 (1%) :white_check_mark: |
["nested", "pastes:2"] |
1.07 (5%) :x: | 1.05 (1%) :x: |
["singlevector", "sleepstudy:2"] |
1.11 (5%) :x: | 1.05 (1%) :x: |
["singlevector", "sleepstudy:3"] |
0.00 (5%) :white_check_mark: | 0.00 (1%) :white_check_mark: |
["singlevector", "sleepstudy:4"] |
1.04 (5%) | 1.04 (1%) :x: |
Benchmark Group List
Here's a list of all the benchmark groups executed by this job:
-
["crossed"] -
["crossedvector"] -
["nested"] -
["singlevector"]
Julia versioninfo
Target
Julia Version 1.9.3
Commit bed2cd540a1 (2023-08-24 14:43 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
Ubuntu 22.04.3 LTS
uname: Linux 5.15.0-1041-azure #48-Ubuntu SMP Tue Jun 20 20:34:08 UTC 2023 x86_64 x86_64
CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz:
speed user nice sys idle irq
#1 2095 MHz 2182 s 0 s 283 s 4286 s 0 s
#2 2095 MHz 5282 s 0 s 237 s 1214 s 0 s
Memory: 6.7694854736328125 GB (4775.06640625 MB free)
Uptime: 681.82 sec
Load Avg: 1.0 1.06 0.73
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
Threads: 1 on 2 virtual cores
Baseline
Julia Version 1.9.3
Commit bed2cd540a1 (2023-08-24 14:43 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
Ubuntu 22.04.3 LTS
uname: Linux 5.15.0-1041-azure #48-Ubuntu SMP Tue Jun 20 20:34:08 UTC 2023 x86_64 x86_64
CPU: Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz:
speed user nice sys idle irq
#1 2095 MHz 3947 s 0 s 422 s 6126 s 0 s
#2 2095 MHz 8164 s 0 s 351 s 1974 s 0 s
Memory: 6.7694854736328125 GB (4899.37109375 MB free)
Uptime: 1057.71 sec
Load Avg: 1.08 1.28 1.0
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-14.0.6 (ORCJIT, skylake-avx512)
Threads: 1 on 2 virtual cores