Joint Modelling of Repeated Measurements and Time-to-Event Data
Overview
Analysis of repeated measurements and time-to-event data via random effects joint models. Fits the joint models proposed by Henderson and colleagues doi:10.1093/biostatistics/1.4.465 (single event time) and by Williamson and colleagues (2008) doi:10.1002/sim.3451 (competing risks events time) to a single continuous repeated measure. The time-to-event data is modelled using a (cause-specific) Cox proportional hazards regression model with time-varying covariates. The longitudinal outcome is modelled using a linear mixed effects model. The association is captured by a latent Gaussian process. The model is estimated using an Expectation Maximization algorithm. Some plotting functions and the variogram are also included. This project is funded by the Medical Research Council (Grant numbers G0400615 and MR/M013227/1).
Bug fixes
emUpdate()andemUpdateCR()now issue awarning()on non-convergence instead of silently callingprint(), making it possible for callers to catch non-convergence programmatically.survst()no longer unconditionally forces the first subject's censoring indicator to 1 before passing data tocoxph(). A properstop()is raised if no events are observed. Thersindex vector is now computed correctly viafindInterval(), clamping subjects who precede the first event time to risk set 1 rather than producingNA.survst()andsurvstCR()now correctly indexloglik[2](the fitted model log-likelihood) rather than storing the full length-2 vector in$log.like.- Bootstrap confidence intervals in
jointSE()now usequantile()instead of a manual sorted-index lookup, fixing an off-by-one error for smalln.bootvalues.
Improvements
joint()andjointSE()argumentsgpt,lgpt,max.it, andtolnow have explicit default values in the function signatures, replacing the previousmissing()pattern. Defaults are visible in auto-complete and?joint.jointSE()output now includes ap-valuecolumn containing two-sided Wald p-values for all fixed-effect and association parameters. Variance component rows (U_*,Residual) returnNAas Wald tests are not appropriate for positive-constrained parameters. Closes #58.jointSE()confidence intervals are now computed for all values ofn.boot. Previously, runs with fewer than 100 bootstrap samples silently returned0for both CI bounds; now the empirical percentile CIs are always returned and awarning()is issued whenn.boot < 100to alert the user that the intervals may be unreliable.tidy()andglance()methods are now available forjointobjects, providing a tidy broom-style interface.tidy()returns a data frame of parameter estimates (one row per term) and optionally accepts ajointSE()result to add standard errors, Wald statistics, p-values, and confidence intervals.glance()returns a single-row summary of model-level statistics including log-likelihood, AIC, BIC, number of observations, number of subjects, convergence status, and EM iteration count. Closes #59.simjoint()no longer prints a progress line viacat()from the internalsimdat()function. It now emits amessage()at thesimjoint()level, which can be suppressed withsuppressMessages().survivalhas been moved fromDependstoImports.Survis re-exported so existing user code does not require changes.
Show all changes in 1.2.9Hide the rest of the changes in 1.2.9
- Test coverage improved from 89% to 93%.
- Code formatted with
air.
Housekeeping
- Added a
pkgdownsite with Bootstrap 5, full dark mode (light switch), and a structured reference index. Apkgdown.yamlGitHub Actions workflow builds and deploys the site to GitHub Pages on push and release. - Added a
render-readme.yamlGitHub Actions workflow that automatically re-rendersREADME.mdfromREADME.RmdwhenREADME.Rmdis changed. - Updated
R-CMD-check.yamlandtest-coverage.yamlGitHub Actions workflows to useactions/checkout@v6,codecov-action@v7, andupload-artifact@v7. DESCRIPTIONURL field now includes the pkgdown site, CRAN page, and GitHub repository.- README badges updated: removed defunct AppVeyor and Depsy badges; added pkgdown deployment badge and lifecycle (stable) badge.
- Updated README with new MRC logo and fixed badges.
- Fixed deprecated documentation for
joineR-package.R. - Added reverse dependency checks.
- Removed dead commented-out code blocks in
survst.RandprepSurvData.R. - Removed no-op
fd <- fd/sd <- sdassignments inemUpdate(). - The internal helper
sortJointData()(previouslysort.dat()defined insidejoint()on every call) is now a file-level internal function, avoiding a spurious S3 method consistency note in R CMD check. - Fixed copy-paste error in
@param ylabdocumentation forjointplot()(was labelled "x-axis"). - Renamed variable
ttoobs_timeinjointplot()to avoid shadowingbase::t(). - Fixed typo "am Expectation Maximization" → "an" in
DESCRIPTION. - Updated test suite: removed deprecated
context()calls and replacedexpect_is()withexpect_s3_class()throughout. Fixed typo "seperate" → "separate" in one test name. Enabled testthat edition 3.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-03-10
Documentation
- Help pages
- 29 (2 internal)includes a package overview page
- Examples that run
- 100%20 run in a plain check
- Exported functions with examples
- 92%
- Documented parameters
- 99%
- Return-value docs
- 92%
- Help pages citing references
- 34%
- joineR HTML
- Competing risks HTML
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- 5
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
12 development-tooling and community-health practices detected across 6 families in the upstream repository
Checks run against github.com/graemeleehickey/joiner on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-06-28 · The repository has a site deploy workflow
pkgdown site last built 2026-06-28
Show all practicesHide 2 practices
Dependencies
Installing joineR adds 2 packages (1 with compiled code, 137 KB of source tarballs). Heaviest: statmod 91 KB, generics 46 KB.
Code & Tests
Datasets
People & History
Previously maintained by Pete Philipson (1.2.4 to 1.2.5) and Graeme L. Hickey (1.1.0 to 1.2.3).
Pick two releases to compare their code metrics.
- 1.2.9Latest
- RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- 1.2.82023-01-22 · diff ↗
- unarchivedReturned to CRAN2023-01-18
- 1.2.72023-01-18 · diff ↗
- archivedRemoved from CRAN2023-01-17issues were not corrected in time
- RR 4.2.0 released · 2022-04-22
- 1.2.62021-06-01 · diff ↗
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- 1.2.52020-02-08 · diff ↗
- RR 3.6.0 released · 2019-04-26
- 1.2.42018-05-18 · diff ↗
Show 16 earlier eventsHide 16 earlier events
- RR 3.5.0 released · 2018-04-23
- 1.2.32018-02-06 · diff ↗
- 1.2.22017-09-14 · diff ↗
- 1.2.12017-07-24 · diff ↗
- 1.2.02017-05-19 · diff ↗
- RR 3.4.0 released · 2017-04-21
- 1.1.02017-02-02 · diff ↗ ·
removed 1 export
pattern:.added 11 exports
UniqueVariables, joint, jointSE, jointdata, jointplot, sample.jointdata, simjoint, summarybal, to.balanced, to.unbalanced, variogram - RR 3.3.0 released · 2016-05-03
- RR 3.2.0 released · 2015-04-16
- RR 3.1.0 released · 2014-04-10
- RR 3.0.0 released · 2013-04-03
- 1.0-32012-10-26 · diff ↗
- 1.0-22012-06-05 · diff ↗
- 1.0-12012-03-30
- RR 2.15.0 released · 2012-03-30
- RR 2.14.0 released · 2011-10-31
Package metadata
- First published
- 2012-03-30
- Total releases
- 14 / 14 yrs
- License
- GPL-3 | file LICENSE OSI · relicensed from Unlimited in 1.1.0
- Minimum R
- ≥ 3.6
- Bundled data
- 69 KB / 5 files
- Download size
- 1.0 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("joineR")The package provides a citation file that builds its entry when R runs it. Run citation() to see it.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-20, which the citation names so these numbers can be found later. More on citing and the projects behind them.