Matching Adjusted Indirect Comparison
Overview
Facilitates performing matching adjusted indirect comparison (MAIC) analysis where the endpoint of interest is either time-to-event (e.g. overall survival) or binary (e.g. objective tumor response). The method is described by Signorovitch et al (2012) doi:10.1016/j.jval.2012.05.004.
- Changed the link function to binomial for RD and RR in binary analysis
- Updated vignette to recommend against bootstrap in unanchored analysis with citation
- Fix events percentage to properly incorporate weights in the report table for binary analysis
- Replace quantile function to use matrixStats package instead of desctools package
- Added testing PH assumptions vignette
- Fixed the issues with merging weights using match function
From NEWS.md in the release
Install
Health
ERRORexamplesr-devel-linux-x86_64-debian-gcc
Running examples in ‘maicplus-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: ph_diagplot
> ### Title: Diagnosis plot of proportional hazard assumption for anchored
> ### and unanchored
> ### Aliases: ph_diagplot
>
> ### ** Examples
>
> # unanchored example using ph_diagplot
> data(weighted_sat)
> data(adtte_sat)
> data(pseudo_ipd_sat)
>
> ph_diagplot(
+ weights_object = weighted_sat,
+ tte_ipd = adtte_sat,
+ tte_pseudo_ipd = pseudo_ipd_sat,
+ trt_var_ipd = "ARM",
+ trt_var_agd = "ARM",
+ trt_ipd = "A",
+ trt_agd = "B",
+ trt_common = NULL,
+ endpoint_name = "Overall Survival",
+ time_scale = "week",
+ zph_transform = "log",
+ zph_log_hazard = TRUE
+ )
Error in a$specials[[i]] : subscript out of bounds
Calls: ph_diagplot ... model.matrix -> model.matrix.coxph -> delete.response -> off
Execution halted
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
kmplot2 10.436 0.245 12.247ERRORtestsr-devel-linux-x86_64-debian-gcc
Running ‘testthat.R’ [24s/27s]
Running the tests in ‘tests/testthat.R’ failed.
Complete output:
> pkg_name <- "maicplus"
> library(pkg_name, character.only = TRUE)
> testthat::test_check(pkg_name)
result pvalue
"-0.17[-0.61; 0.28]" "0.535"
NULL
NULL
NULL
NULL
Saving _problems/test-plot_km-143.R
Saving _problems/test-plot_km-162.R
Saving _problems/test-plot_km-182.R
Saving _problems/test-plot_km-201.R
Saving _problems/test-plot_km-247.R
Saving _problems/test-plot_km-258.R
Ignoring unknown labels:
* colour : "Treatment"
Ignoring unknown labels:
* colour : "Treatment"
Ignoring unknown labels:
* colour : "Treatment"
Ignoring unknown labels:
* colour : "Treatment"
Ignoring unknown labels:
* colour : "Treatment"
Ignoring unknown labels:
* colour : "Treatment"
[ FAIL 6 | WARN 0 | SKIP 14 | PASS 82 ]
══ Skipped tests (14) ══════════════════════════════════════════════════════════
• On CRAN
...[truncated]...
or/condition>
Error in `a$specials[[i]]`: subscript out of bounds
Backtrace:
▆
1. └─vdiffr::expect_doppelganger(...) at test-plot_km.R:251:3
2. └─vdiffr (local) writer(fig, testcase, title)
3. ├─vdiffr:::print_plot(plot, title)
4. └─vdiffr:::print_plot.function(plot, title)
5. └─maicplus (local) p()
6. └─maicplus::ph_diagplot_schoenfeld(...) at test-plot_km.R:254:7
7. ├─stats::residuals(coxobj, type = "schoenfeld")
8. └─survival:::residuals.coxph(coxobj, type = "schoenfeld")
9. └─survival:::coxph.getdata(object, y = TRUE, x = TRUE, stratax = TRUE)
10. ├─stats::model.matrix(fit, data = mf)
11. └─survival:::model.matrix.coxph(fit, data = mf)
12. └─stats::delete.response(object$terms)
13. └─stats (local) off(a$specials[[i]])
[ FAIL 6 | WARN 0 | SKIP 14 | PASS 82 ]
Error:
! Test failures.
Execution halted- ERROR12 OK, 1 ERROR2026-10-24
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
- ERROR12 OK, 1 ERROR2026-06-08
Show 1 earlier changeHide 1 earlier change
- OK14 OK2026-03-10
Documentation
- Help pages
- 42 (5 internal)includes a package overview page
- Examples that run
- 100%25 run in a plain check (1 of them under a condition)
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 84%
- Median days to close, 50 most recently updated closed issues
- 14
- Median days to close, 50 most recently updated closed PRs
- 3
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
8 development-tooling and community-health practices detected across 6 families in the upstream repository
Checks run against github.com/hta-pharma/maicplus on 2026-10-21.
Show all practicesHide 2 practices
Dependencies
Installing maicplus adds 16 packages (11 with compiled code, 17 MB of source tarballs). Heaviest: stringi 11 MB, sandwich 1.4 MB, vctrs 1.0 MB.
Code & Tests
Datasets
People & History
Package metadata
- First published
- 2024-11-10
- Total releases
- 3 / 2 yrs
- License
- Apache License 2.0 OSI
- Minimum R
- ≥ 4.1
- Bundled data
- 561 KB / 13 files
- Download size
- 1.7 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("maicplus")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-24, which the citation names so these numbers can be found later. More on citing and the projects behind them.