Robust Linear Mixed Effects Models
Overview
Implements the Robust Scoring Equations estimator to fit linear mixed effects models robustly. Robustness is achieved by modification of the scoring equations combined with the Design Adaptive Scale approach.
Bug fixes
calcTau()no longer refuses to solve its fixed point when the starting value exceeds 1. Thetau <= 1constraint sat in the loop condition, so a start above 1 skipped the iteration entirely and the post-loop clamp returned exactly 1; it now starts frommin(tau, 1). This is what let the weighted-taubug of 3.5.0 reachmethod = "DAStau"(see that release's entry for who should refit; that part was fixed in 3.5.0, this guard was not). No fit produced by the current code reaches the condition -- the largest starting value observed over a randomised search is 0.99948 -- so the change is defensive and is a no-op on current behaviour;tests/tau.Rnow pins the fixed point to be independent of the starting value.
Show all changes in 3.5.0-2Hide the rest of the changes in 3.5.0-2
- **
init = "ransac"estimated the model on the RANSAC subsample instead of on your data, in 3.4-5 and 3.5.0-1.** If you have usedinit = "ransac",rlmer_ransac()orfitDatasets_rlmer_ransac/_ransac_bisqwith either version, refit: the returned object was an estimate on roughly half the observations. Nothing else is affected, and no otherinitform is affected. AnlmerModpassed asinitsupplies the *model*, not only the starting values -- the working object is built from it, soformulaanddatastop mattering from that point on. That is correct and efficient for a starting fit on the same data, which is what the argument was designed for. Butransac_lme4()$fitis fitted on the winning RANSAC subsample, so resolvinginit = "ransac"to that object silently dropped the rest of the data. On a two-dimensional random-effect block withm = 50clusters andn = 1000observations, the fit used 510 observations and 27 of the 50 clusters.rlmer()now takesfixef,sigmaandthetafrom the RANSAC fit and estimates the model on the fulldata.uis deliberately not carried over: it has one entry per random-effect coefficient of the fit it came from, and zeroing it instead is not a neutral choice -- combined with athetafrom elsewhere it drives the random-effect covariance onto the boundary (theta = 0). Instead the effects are re-solved at the suppliedsigmaandtheta. That solve is the robust IRLS step forbetaandu*jointly*, run to convergence, so the RANSACfixefacts as a warm start rather than as a value that is held fixed;sigmaandthetaare the parameters actually held. Two supporting changes. The components of the list form ofinitare now optional; anything omitted keeps the value from the internallmerinitialisation, which is what makes the above expressible. And passing anlmerModfitted on a different number of observations thandatahas rows now warns, since that is the same silent data-loss trap in user code. It is a warning rather than an error because dropping rows withNAs is a legitimate reason for the counts to differ. Four call sites were affected, in three independent copies of the pattern:init = "ransac",rlmer_ransac(), and the inline start infitDatasets_rlmer_ransacandfitDatasets_rlmer_ransac_bisq(which do not route throughrlmer_ransac()). All four are fixed. Found while running the estimator against the simulation design of Sugasawa, Hui and Welsh (2026, *JCGS* 35(2):720-733). Regression test:tests/ransac-init-fullwdata.R, which covers all four entry points.
From NEWS.md in the release
Install
Health
- OK13 OK2026-10-17
- WARNING12 OK, 1 WARNING2026-10-01
- OK13 OK2026-09-25
- ERROR12 OK, 1 ERROR2026-09-18
- OK13 OK2026-08-05
Show 10 earlier changesHide 10 earlier changes
- NOTE12 OK, 1 NOTE2026-07-31
- OK13 OK2026-07-18
- WARNING12 OK, 1 WARNING2026-07-16
- OK13 OK2026-06-27
- WARNING7 OK, 5 NOTE, 1 WARNING2026-06-14
- NOTE11 OK, 2 NOTE2026-05-05
- OK13 OK2026-05-02
- NOTE11 OK, 1 NOTE2026-04-25
- ERROR10 OK, 3 NOTE, 1 ERROR2026-04-18
- NOTE11 OK, 3 NOTE2026-03-10
Documentation
- Help pages
- 56 (2 internal)includes a package overview page
- Examples that run
- 80%28 run in a plain check · 1 only when donttest examples are enabled (R CMD check --as-cran) · 6 never run
- Exported functions with examples
- 72%
- Documented parameters
- 96%
- Return-value docs
- 79%
- Help pages citing references
- 18%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- 7
- Median days to close, 50 most recently updated closed PRs
- 7
Stars over time
Forks over time
Issues over time
PRs over time
Commits over time
5 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/kollerma/robustlmm on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
Dependencies
Installing robustlmm adds 14 packages (9 with compiled code, 15 MB of source tarballs). Heaviest: lme4 4.1 MB, robustbase 2.2 MB, nloptr 2.1 MB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 3.5.0-2Latest
- 3.5.0-12026-07-10 · diff ↗ ·
added 6 exports
generateRepeatedMeasuresDatasets, fitDatasets_rlmer_cs, fitDatasets_rlmer_ar1, makeRobustbasePsi, lqqPsi, ransac_basin_radius - 3.4-52026-06-21 · diff ↗ ·
added 11 exports
caseweightIF, vcov_sandwich, implicitIF_full, fitDatasets_rlmer_DAStau_bisq, fitDatasets_rlmer_DAStau_sizeOBR, fitDatasets_rlmer_ransac, fitDatasets_rlmer_ransac_bisq, makeBisquarePsi, bisquarePsi, ransac_lme4, rlmer_ransac - RR 4.6.0 released · 2026-04-24
- 3.4-32026-04-20 · diff ↗
- 3.4-2
- 3.3-32025-05-26 · diff ↗
- 3.3-22025-05-04 · diff ↗
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- 3.3-12023-12-15 · diff ↗
- 3.2-52023-11-14 · diff ↗
- 3.2-32023-10-06 · diff ↗
- 3.2-22023-08-18 · diff ↗
- RR 4.3.0 released · 2023-04-21
- 3.2-02023-03-25 · diff ↗
Show 47 earlier eventsHide 47 earlier events
- 3.1-22022-12-08 · diff ↗
- 3.1-1
- 3.0-42022-09-17 · diff ↗
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- RR 3.5.0 released · 2018-04-23
- RR 3.4.0 released · 2017-04-21
- RR 3.3.0 released · 2016-05-03
- RR 3.2.0 released · 2015-04-16
- RR 3.1.0 released · 2014-04-10
- 3.0.32014-02-12 · diff ↗
- 3.0-22022-08-26 · diff ↗
- 3.0.2
- 3.0-12022-08-07 · diff ↗ ·
added 50 exports
generateAnovaDatasets, prepareMixedEffectDataset, generateMixedEffectDatasets, generateSensitivityCurveDatasets, bindDatasets, splitDatasets, createDatasetsFromList, saveDatasets, lapplyDatasets, fitDatasets_lmer, fitDatasets_lmer_bobyqa, fitDatasets_lmer_Nelder_Mead, fitDatasets_rlmer, createRhoFunction, extractTuningParameter, extractPredefinedTuningParameter, fitDatasets_rlmer_DAStau, fitDatasets_rlmer_DAStau_lmerNoFit, fitDatasets_rlmer_DASvar, fitDatasets_rlmer_DAStau_noAdj, fitDatasets_rlmer_DAStau_k_0_5, fitDatasets_rlmer_DAStau_k_0_5_noAdj, fitDatasets_rlmer_DAStau_k_2, fitDatasets_rlmer_DAStau_k_2_noAdj, fitDatasets_rlmer_DAStau_k_5, fitDatasets_rlmer_DAStau_k_5_noAdj, fitDatasets_heavyLme, fitDatasets_lqmm, fitDatasets_rlme, fitDatasets_varComprob and 20 more - RR 3.0.0 released · 2013-04-03
- RR 2.15.0 released · 2012-03-30
- 2.15.02012-03-08 · diff ↗ ·
added 12 exports
compare, cPsi, fixef, getInfo, getME, lmerNoFit, psiFuncCached, rlmer, sigma, smoothPsi, theta, VarCorr - 2.5-12022-03-23 · diff ↗
- 2.5-02022-02-15 · diff ↗
- 2.4-52021-10-06 · diff ↗
- 2.4-42021-05-24 · diff ↗
- 2.4-32021-02-10 · diff ↗
- 2.4-22021-01-31 · diff ↗
- 2.32019-02-03 · diff ↗
- 2.2-1
- 2.1-42017-11-19 · diff ↗
- 2.1-32017-04-09 · diff ↗
- 2.1-22016-12-18 · diff ↗
- 2.1
- 1.82016-01-03 · diff ↗
- 1.7-62015-08-30 · diff ↗
- 1.7-42015-07-14 · diff ↗
- 1.7-22015-06-05 · diff ↗
- 1.62014-07-11 · diff ↗
- 1.52014-06-13 · diff ↗
- 1.4-32014-03-13 · diff ↗
- 1.4-22014-02-01 · diff ↗
- 1.4-12014-01-31 · diff ↗
- 1.42014-01-28 · diff ↗
- 1.3-12013-10-07 · diff ↗
- 1.32013-09-21 · diff ↗
- 1.1-12013-09-11 · diff ↗
- 1.12013-06-17 · diff ↗
- 1.02013-03-08
- RR 2.14.0 released · 2011-10-31
Package metadata
- First published
- 2012-03-08
- Total releases
- 47 / 14 yrs
- License
- GPL-2 OSI
- Minimum R
- ≥ 3.5.0
- Download size
- 4.0 MB
Cite
Cite this package
Run in R for the authors' entry:
citation("robustlmm")The package provides a citation file, so citation() returns the authors' own entry.
It points to 10.18637/jss.v075.i06.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.