Calculate the number needed to treat (NNT) from estimated risk difference, risk ratio, or odds ratio, and a baseline risk.
nnt(x, ...)# S3 method for meta
nnt(x, p.c, common = x$common, random = x$random, small.values = "good", ...)
# S3 method for default
nnt(x, p.c, sm, lower, upper, small.values = "good", ...)
# S3 method for nnt.meta
print(
x,
common = x$common,
random = x$random,
digits = gs("digits"),
digits.prop = gs("digits.prop"),
big.mark = gs("big.mark"),
...
)
An object of class meta
, or estimated treatment
effect, i.e., risk difference(s), risk ratio(s), or odds
ratio(s).
Additional arguments (to catch deprecated arguments).
Baseline risk (control group event probability).
A logical indicating whether NNTs should be calculated based on common effect estimate.
A logical indicating whether NNTs should be calculated based on random effects estimate.
A character string specifying whether small
treatment effects indicate a beneficial ("good"
) or
harmful ("bad"
) effect, can be abbreviated.
Summary measure.
Lower confidence interval limit.
Upper confidence interval limit.
Minimal number of significant digits, see
print.default
.
Minimal number of significant digits for
proportions, see print.default
.
A character used as thousands separator.
Guido Schwarzer guido.schwarzer@uniklinik-freiburg.de
The number needed to treat (NNT) is the estimated number of patients who need to be treated with a new treatment instead of a standard for one additional patient to benefit (Laupacis et al., 1988; Cook & Sackett, 1995). This definition of the NNT implies that the new treatment is more beneficial than the standard. If the new treatment is indeed less beneficial than the standard, the NNT gives the number of patients treated with the new treatment to observe an additional harmful event. Accordingly, the abbreviations NNTB and NNTH can be used to distinguish between beneficial and harmful NNTs (Altman, 1998).
NNTs can be easily computed from an estimated risk difference (RD),
risk ratio (RR), or odds ratio (OR) and a given baseline risk
(Higgins et al., 2022, section 15.4.4). It is also possible to
calculate NNTs from hazard ratios (HR) (Altman & Andersen,
1999). Accordlingly, NNTs can be calculated for meta-analyses
generated with metabin
or metagen
if
argument sm
was equal to "RD"
, "RR"
,
"OR"
, or "HR"
. It is also possible to provide only
estimated treatment effects and baseline risks (see Examples).
The baseline risk can be specified using argument p.c
. If
this argument is missing, the minimum, mean, and maximum of the
control event probabilities in the meta-analysis are used for
metabin
and control event probabilities of 0.1, 0.2,
..., 0.9 are used for metagen
.
Argument small.values
can be used to specify whether small
treatment effects indicate a beneficial ("good"
) or harmful
("bad"
) effect. For small.values = "small"
, odds and
risk ratios below 1 and risk differences below 0 indicate that the
new treatment is beneficial. For small.values = "bad"
, odds
and risk ratios above 1 and risk differences above 0 indicate that
the new treatment is beneficial.
A positive value for the estimated NNT indicates that the new treatment is beneficial, i.e., the NNT is actually an NNTB. On the other hand, a negative value for the estimated NNT indicates that the new treatment is harmful, i.e., the NNT is actually an NNTH.
The minimal value for the NNTB is 1. In this extreme case the new treatment is 100% effective and the standard treatment is 0% effective, i.e., only one patient has to be treated with the new treatment for one additional patient to benefit. The NNTB increases with decreasing difference between the two risks. If both risks are equal, the NNTB is infinite.
The other extreme is an NNT of -1 if the new treatment is 0% effective and the standard is 100% effective. Here, one additional harmful event is observed for each patient treated with the new treatment. The NNT approaches minus infinity if the difference between the two risks decreases to 0. Finally, an NNT of -1 translates to an NNTH of 1 with possible values from 1 to infinity.
Confidence limits for an NNT are derived from the lower and upper confidence limits of the summary measure using the same formulae as for the NNT (Higgins et al., 2022, section 15.4.4).
A peculiar problem arises if the confidence interval for the summary measure includes the null effect (i.e., RR = 1, OR = 1, HR = 1, or RD = 0). In this case the confidence interval for the NNT contains both NNTB and NNTH values and it seemingly does not include the estimated NNT.
As described above, a positive NNT value corresponds to an NNTB and the absolute value of a negative NNT is equal to an NNTH. Accordingly, a confidence interval for the NNT from 20 to -5 translates to NNTB values between 20 and infinity and NNTH values between 5 and infinity (Altman, 1998).
Altman DG (1998): Confidence intervals for the number needed to treat. British Medical Journal, 317, 1309--12
Altman DG, Andersen PK (1999): Calculating the Number Needed to Treat for Trials Where the Outcome Is Time to an Event British Medical Journal, 319, 1492--95
Cook RJ, Sackett DL (1995): The Number Needed to Treat: A Clinically Useful Measure of Treatment Effect. British Medical Journal, 310, 452--54
Higgins JPT, Thomas J, Chandler J, Cumpston M, Li T, Page MJ, Welch VA (editors) (2022): Cochrane Handbook for Systematic Reviews of Interventions Version 6.3 (updated February 2022). Available from www.training.cochrane.org/handbook
Laupacis A, Sackett DL, Roberts RS (1988): An Assessment of Clinically Useful Measures of the Consequences of Treatment. New England Journal of Medicine, 318, 1728--33
metabin
, metagen
# Calculate NNT for RD = -0.12 and -0.22
# (Cochrane Handbook, version 6.3, subsection 15.4.4.1)
nnt(c(-0.12, -0.22), sm = "RD")
# Calculate NNT for RR = 0.92 and baseline risk p.c = 0.3
# (Cochrane Handbook, version 6.3, subsection 15.4.4.2)
nnt(0.92, p.c = 0.3, sm = "RR")
# Calculate NNT for OR = 0.73 and baseline risk p.c = 0.3
# (Cochrane Handbook, version 6.3, subsection 15.4.4.3)
nnt(0.73, p.c = 0.3, sm = "OR")
# Use Mantel-Haenszel odds ratio to calculate NNTs
data(Olkin1995)
m1 <- metabin(ev.exp, n.exp, ev.cont, n.cont, data = Olkin1995,
random = FALSE)
nnt(m1)
Run the code above in your browser using DataLab