Summarize the results from the BuyseTest
function.
# S4 method for S4BuyseTest
summary(
object,
print = TRUE,
percentage = TRUE,
statistic = NULL,
conf.level = NULL,
strata = NULL,
type.display = 1,
digit = c(2, 4, 5),
...
)
output of BuyseTest
[logical] Should the results be displayed in the console?
[logical] Should the percentage of pairs of each type be displayed ? Otherwise the number of pairs is displayed.
[character] the statistic summarizing the pairwise comparison:
"netBenefit"
displays the net benefit, as described in Buyse (2010) and Peron et al. (2016)),
"winRatio"
displays the win ratio, as described in Wang et al. (2016),
"favorable"
displays the proportion in favor of the treatment (also called Mann-Whitney parameter), as described in Fay et al. (2018).
"unfavorable"
displays the proportion in favor of the control.
Default value read from BuyseTest.options()
.
[numeric] confidence level for the confidence intervals.
Default value read from BuyseTest.options()
.
[logical] should the strata-specific results be displayed or the results pooled across strata?
Can also be NULL
to display both.
[numeric or character] the results/summary statistics to be displayed.
Either an integer indicating refering to a type of display in BuyseTest.options()
or the name of the column to be output (e.g. c("strata","Delta","p.value")
).
[integer vector] the number of digit to use for printing the counts and the delta.
arguments to be passed to S4BuyseTest-confint
Brice Ozenne
Content of the output
The "results" table in the output show the result of the GPC at each endpoint, as well as its contribution to the global statistics.
More precisely, the column:
endpoint
lists the endpoints, by order of priority.
threshold
lists the threshold associated to each endpoint.
weight: lists the weight of each priority.
strata: list the strata relative to which the results of the priority are displayed. If "global"
, then the results are over all strata at a given priority.
total
(or total(%)
) lists the number (or percentage) of pairs to be analyzed at the current priority (or strata).
favorable
(or favorable(%)
) lists the number (or percentage) of pairs classified in favor of the treatment group at the current priority (or strata).
unfavorable
(or unfavorable(%)
) lists the number (or percentage) of pairs classified in favor of the control group at the current priority (or strata).
neutral
(or neutral(%)
) lists the number (or percentage) of pairs classified as neither in favor of the treatment group nor in favor of the control group at the current priority (or strata).
uninf
(or uninf(%)
) lists the number (or percentage) of pairs that could not be classified at the current priority (or strata) due to missing values/censoring.
delta
lists the value of the priority-specific statistic (e.g. net benefit or win ratio), i.e. computed on the pairs analyzed at the current priority only.
Delta
lists the value of the cumulative statistic (e.g. net benefit or win ratio), i.e. computed on all the pairs analyzed up to the current priority.
Delta(%)
lists the relative statistic (i.e. statistic up to the current priority divided by the final statistic).
information(%)
lists the information fraction (i.e. number of favorable and unfavorable pairs up to the current priority divided by the final number of favorable and unfavorable pairs).
CI
lists the confidence intervals for Delta
(not adjusted for multiple comparison).
null
lists the null hypothesis (Delta=null
).
p.value
p-value relative to the null hypothesis (not adjusted for multiple comparison).
resampling
number of samples used to compute the confidence intervals or p-values from permutations or bootstrap samples.
Only displayed if some bootstrap samples have been discarded, for example, they did not lead to sample any case or control.
Note: when using the Peron scoring rule or a correction for uninformative pairs, the columns total
, favorable
, unfavorable
, neutral
, and uninf
are computing by summing the contribution of the pairs. This may lead to a decimal value.
Statistic: when considering a single endpoint and denoting \(Y\) the endpoint in the treatment group, \(X\) the endpoint in the control group, and \(\tau\) the threshold of clinical relevance, the net benefit is \(P[Y \ge X + \tau] - P[X \ge Y + \tau]\), the win ratio is \(\frac{P[Y \ge X + \tau]}{P[X \ge Y + \tau]}\), the proportion in favor of treatment is \(P[Y \ge X + \tau]\), the proportion in favor of control is \(P[X \ge Y + \tau]\).
Statistical inference
When the interest is in obtaining p-values, we recommand the use of a permutation test.
However, when using a permutation test confidence intervals are not displayed in the summary.
This is because there is no (to the best of our knowledge) straightforward way to obtain good confidence intervals with permutations.
An easy way consist in using the quantiles of the permutation distribution and then shift by the point estimate of the statistic.
This is what is output by S4BuyseTest-confint
.
However this approach leads to a much too high coverage when the null hypothesis is false.
The limits of the confidence interval can also end up being outside of the interval of definition of the statistic
(e.g. outside [-1,1] for the proportion in favor of treatment).
Therefore, for obtaining confidence intervals, we recommand the boostrap method or the u-statistic method.
Win ratio
For the win ratio, the proposed implementation enables the use of thresholds and endpoints that are not time to events
as well as the correction proposed in Peron et al. (2016) to account for censoring.
These development have not been examined by Wang et al. (2016), or in other papers (to the best of our knowledge).
They are only provided here by implementation convenience.
Competing risks
In presence of competing risks, looking at the net benefit/win ratio computed with respect to the event of interest
will likely not give a full picture of the difference between the two groups.
For instance a treatment may decrease the risk of the event of interest (i.e. increase the net benefit for this event)
by increasing the risk of the competing event. If the competing event is death, this is not desirable. It is therefore advised to
taking into consideration the risk of the competing event, e.g. by re-running BuyseTest where cause 1 and 2 have been inverted.
On the GPC procedure: Marc Buyse (2010). Generalized pairwise comparisons of prioritized endpoints in the two-sample problem. Statistics in Medicine 29:3245-3257
On the win ratio: D. Wang, S. Pocock (2016). A win ratio approach to comparing continuous non-normal outcomes in clinical trials. Pharmaceutical Statistics 15:238-245
On the Mann-Whitney parameter: Fay, Michael P. et al (2018). Causal estimands and confidence intervals asscoaited with Wilcoxon-Mann-Whitney tests in randomized experiments. Statistics in Medicine 37:2923-2937.
BuyseTest
for performing a generalized pairwise comparison.
S4BuyseTest-model.tables
to obtain the table displayed at the end of the summary method in a data.frame
format.
S4BuyseTest-confint
to output estimate, standard errors, confidence interval and p-values.
S4BuyseTest-plot
for a graphical display of the scoring of the pairs.
BuyseMultComp
for efficient adjustment for multiple comparisons.
library(data.table)
dt <- simBuyseTest(1e2, n.strata = 3)
if (FALSE) {
BT <- BuyseTest(treatment ~ TTE(eventtime, status = status) + Bin(toxicity), data=dt)
}
# \dontshow{
BT <- BuyseTest(treatment ~ TTE(eventtime, status = status) + Bin(toxicity), data=dt, n.resampling = 10, trace = 0)
# }
summary(BT)
summary(BT, percentage = FALSE)
summary(BT, statistic = "winRatio")
Run the code above in your browser using DataLab