Generalized Pairwise Comparisons

Implementation of the Generalized Pairwise Comparisons (GPC) as defined in Buyse (2010) for complete observations, and extended in Peron (2018) to deal with right-censoring. GPC compare two groups of observations (intervention vs. control group) regarding several prioritized endpoints to estimate the probability that a random observation drawn from one group performs better than a random observation drawn from the other group (Mann-Whitney parameter). The net benefit and win ratio statistics, i.e. the difference and ratio between the probabilities relative to the intervention and control groups, can then also be estimated. Confidence intervals and p-values are obtained using permutations, a non-parametric bootstrap, or the asymptotic theory. The software enables the use of thresholds of minimal importance difference, stratification, non-prioritized endpoints (O'Brien test), and can handle right-censoring and competing-risks.


-- mode: org --

  • Version 1.7 ** User visble changes
  • NEW FEATURE: iid function

** Internal change

  • fix bug in the computation of the asymptotic variance + add tests
  • Version 1.6 ** Internal change

    • simplify C++ code.
  • Version 1.5 ** User visble changes

    • Argument statistic now takes values netBenefit or winRatio (instead of netChance or winRatio).
    • NEW FEATURE: standard errors/p.values/confidence intervals can now be computed without resampling setting the option method.tte to asymptotic
    • NEW FEATURE: a function powerBuyseTest has been added to perform simulation studies with BuyseTest (e.g. compute power, coverage or bias).

** Internal change

  • improve the management of the weights of the pairs from one endpoint to another.
  • Version 1.4 ** User visble changes - BuyseTest function
    • NEW FEATURE: Instead of estimating the survival curves on the data used for the GPC, BuyseTest can use pre-defined survival models for method "Peron" (argument model.tte).
    • NEW FEATURE: methods getSurvival to access the survival probability used by BuyseTest.
    • NEW FEATURE: getPairScore to access the score of each pair.
    • NEW FEATURE: argument method.uninf in BuyseTest enables to re-attribute the uninformative scores to favorable/unfavorable/neutral.

** Internal change

  • improve initSurvival and the computation of the Peron (C++ code)
  • change the handling of NA in the survival when using method.tte="Peron" (C++ code)
  • change the way neutralAsUninf is implemented (C++ code)
  • Version 1.3 ** User visble changes - BuyseTest function
    • NEW FEATURE: boostrap resampling (method.inference = "boostrap")
    • NEW FEATURE: confint method to extract confidence intervals
    • NEW FEATURE: BuyseTest can handle competing risks (experimental)
    • argument n.permutation becomes n.resampling
    • argument method becomes method.tte
    • add argument method.inference to choose how to compute pvalues and CI.
    • option method.tte="Peto" and method.tte="Efron" have been removed.

** Internal change

  • reorganize BuyseTest into BuyseTest and .BuyseTest. Make initalization and testing of the arguments independent
  • remove dependency on tcltk.
  • confidence intervals and p.values are computed outside BuyseTest, when calling summary.
  • Version 1.2 ** User visble changes - BuyseTest function
    • add argument keepComparison, operator.
    • argument n.bootstrap becomes n.permuation
    • argument neutralAsUninf becomes
    • nicer display with summary
    • lighter display when printing the object

** Internal change

  • reorganize the tests
  • Version 1.1
    • add a formula argument to the BuyseTest function. This can be used instead of the treatment, endpoint, threshold, type, censoring, and strata argument to specify the prioritized endpoints.
    • unify the C++ code, add a threshold for considering a pair non-informative (w>1e-12). May induce differences with previous versions in the index of uniformative pairs.
    • uses prodlim instead of survival to compute the KM estimates.
    • Add a neutralAsUnif argument to the BuyseTest function to decide whether the analysis should continue on lower priority when a pair is classified as neutral

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.3.0 by Brice Ozenne, 6 months ago

Report a bug at

Browse source code at

Authors: Brice Ozenne [aut, cre] , Julien Peron [ctb] , Eva Cantagallo [aut]

Documentation:   PDF Manual  

GPL-3 license

Imports data.table, doParallel, foreach, ggplot2, methods, lava, parallel, prodlim, stats, stats4, utils

Depends on Rcpp

Suggests cvAUC, pbapply, pROC, R.rsp, riskRegression, survival, testthat

Linking to Rcpp, RcppArmadillo

System requirements: C++11

See at CRAN