`rma.peto.Rd`

Function to fit equal-effects models to \(2 \times 2\) table data via Peto's method. See below and the introduction to the metafor-package for more details on these models.

```
rma.peto(ai, bi, ci, di, n1i, n2i,
data, slab, subset,
add=1/2, to="only0", drop00=TRUE,
level=95, verbose=FALSE, digits, ...)
```

- ai
vector with the \(2 \times 2\) table frequencies (upper left cell). See below and the documentation of the

`escalc`

function for more details.- bi
vector with the \(2 \times 2\) table frequencies (upper right cell). See below and the documentation of the

`escalc`

function for more details.- ci
vector with the \(2 \times 2\) table frequencies (lower left cell). See below and the documentation of the

`escalc`

function for more details.- di
vector with the \(2 \times 2\) table frequencies (lower right cell). See below and the documentation of the

`escalc`

function for more details.- n1i
vector with the group sizes or row totals (first group). See below and the documentation of the

`escalc`

function for more details.- n2i
vector with the group sizes or row totals (second group). See below and the documentation of the

`escalc`

function for more details.- data
optional data frame containing the data supplied to the function.

- slab
optional vector with labels for the \(k\) studies.

- subset
optional (logical or numeric) vector to specify the subset of studies that should be used for the analysis.

- add
non-negative number to specify the amount to add to zero cells when calculating the observed effect sizes of the individual studies. Can also be a vector of two numbers, where the first number is used in the calculation of the observed effect sizes and the second number is used when applying Peto's method. See below and the documentation of the

`escalc`

function for more details.- to
character string to specify when the values under

`add`

should be added (either`"only0"`

,`"all"`

,`"if0all"`

, or`"none"`

). Can also be a character vector, where the first string again applies when calculating the observed effect sizes or outcomes and the second string when applying Peto's method. See below and the documentation of the`escalc`

function for more details.- drop00
logical to specify whether studies with no cases (or only cases) in both groups should be dropped when calculating the observed effect sizes or outcomes (the outcomes for such studies are set to

`NA`

). Can also be a vector of two logicals, where the first applies to the calculation of the observed effect sizes or outcomes and the second when applying Peto's method. See below and the documentation of the`escalc`

function for more details.- level
numeric value between 0 and 100 to specify the confidence interval level (the default is 95; see here for details).

- verbose
logical to specify whether output should be generated on the progress of the model fitting (the default is

`FALSE`

).- digits
optional integer to specify the number of decimal places to which the printed results should be rounded. If unspecified, the default is 4. See also here for further details on how to control the number of digits in the output.

- ...
additional arguments.

The studies are assumed to provide data in terms of \(2 \times 2\) tables of the form:

outcome 1 | outcome 2 | total | ||||

group 1 | `ai` | `bi` | `n1i` | |||

group 2 | `ci` | `di` | `n2i` |

where `ai`

, `bi`

, `ci`

, and `di`

denote the cell frequencies and `n1i`

and `n2i`

the row totals. For example, in a set of randomized clinical trials (RCTs) or cohort studies, group 1 and group 2 may refer to the treatment/exposed and placebo/control/non-exposed group, respectively, with outcome 1 denoting some event of interest (e.g., death) and outcome 2 its complement. In a set of case-control studies, group 1 and group 2 may refer to the group of cases and the group of controls, with outcome 1 denoting, for example, exposure to some risk factor and outcome 2 non-exposure.

An approach for aggregating data of this type was suggested by Peto (see Yusuf et al., 1985). The method provides a weighted estimate of the (log) odds ratio under an equal-effects model. The method is particularly advantageous when the event of interest is rare, but it should only be used when the group sizes within the individual studies are not too dissimilar and the effect sizes are generally small (Greenland & Salvan, 1990; Sweeting et al., 2004; Bradburn et al., 2007). Note that the printed results are given both in terms of the log and the raw units (for easier interpretation).

Peto's method itself does not require the calculation of the observed log odds ratios of the individual studies and directly makes use of the cell frequencies in the \(2 \times 2\) tables. Zero cells are not a problem (except in extreme cases, such as when one of the two outcomes never occurs in any of the tables). Therefore, it is unnecessary to add some constant to the cell counts when there are zero cells.

However, for plotting and various other functions, it is necessary to calculate the observed log odds ratios for the \(k\) studies. Here, zero cells can be problematic, so adding a constant value to the cell counts ensures that all \(k\) values can be calculated. The `add`

and `to`

arguments are used to specify what value should be added to the cell frequencies and under what circumstances when calculating the observed log odds ratios and when applying Peto's method. Similarly, the `drop00`

argument is used to specify how studies with no cases (or only cases) in both groups should be handled. The documentation of the `escalc`

function explains how the `add`

, `to`

, and `drop00`

arguments work. If only a single value for these arguments is specified (as per default), then these values are used when calculating the observed log odds ratios and no adjustment to the cell counts is made when applying Peto's method. Alternatively, when specifying two values for these arguments, the first value applies when calculating the observed log odds ratios and the second value when applying Peto's method.

Note that `drop00`

is set to `TRUE`

by default. Therefore, the observed log odds ratios for studies where `ai=ci=0`

or `bi=di=0`

are set to `NA`

. When applying Peto's method, such studies are not explicitly dropped (unless the second value of `drop00`

argument is also set to `TRUE`

), but this is practically not necessary, as they do not actually influence the results (assuming no adjustment to the cell counts are made when applying Peto's method).

An object of class `c("rma.peto","rma")`

. The object is a list containing the following components:

- beta
aggregated log odds ratio.

- se
standard error of the aggregated value.

- zval
test statistics of the aggregated value.

- pval
corresponding p-value.

- ci.lb
lower bound of the confidence interval.

- ci.ub
upper bound of the confidence interval.

- QE
test statistic of the test for heterogeneity.

- QEp
corresponding p-value.

- k
number of studies included in the analysis.

- yi, vi
the vector of individual log odds ratios and corresponding sampling variances.

- fit.stats
a list with the log-likelihood, deviance, AIC, BIC, and AICc values under the unrestricted and restricted likelihood.

- ...
some additional elements/values.

The results of the fitted model are formatted and printed with the `print`

function. If fit statistics should also be given, use `summary`

(or use the `fitstats`

function to extract them).

The `residuals`

, `rstandard`

, and `rstudent`

functions extract raw and standardized residuals. Leave-one-out diagnostics can be obtained with `leave1out`

.

Forest, funnel, radial, L'Abbé, and Baujat plots can be obtained with `forest`

, `funnel`

, `radial`

, `labbe`

, and `baujat`

. The `qqnorm`

function provides normal QQ plots of the standardized residuals. One can also just call `plot`

on the fitted model object to obtain various plots at once.

A cumulative meta-analysis (i.e., adding one observation at a time) can be obtained with `cumul`

.

Other extractor functions include `coef`

, `vcov`

, `logLik`

, `deviance`

, `AIC`

, and `BIC`

.

Bradburn, M. J., Deeks, J. J., Berlin, J. A., & Localio, A. R. (2007). Much ado about nothing: A comparison of the performance of meta-analytical methods with rare events. *Statistics in Medicine*, **26**(1), 53–77. https://doi.org/10.1002/sim.2528

Greenland, S., & Salvan, A. (1990). Bias in the one-step method for pooling study results. *Statistics in Medicine*, **9**(3), 247–252. https://doi.org/10.1002/sim.4780090307

Sweeting, M. J., Sutton, A. J., & Lambert, P. C. (2004). What to add to nothing? Use and avoidance of continuity corrections in meta-analysis of sparse data. *Statistics in Medicine*, **23**(9), 1351–1375. https://doi.org/10.1002/sim.1761

Yusuf, S., Peto, R., Lewis, J., Collins, R., & Sleight, P. (1985). Beta blockade during and after myocardial infarction: An overview of the randomized trials. *Progress in Cardiovascular Disease*, **27**(5), 335–371. https://doi.org/10.1016/s0033-0620(85)80003-7

Viechtbauer, W. (2010). Conducting meta-analyses in R with the metafor package. *Journal of Statistical Software*, **36**(3), 1–48. https://doi.org/10.18637/jss.v036.i03

`rma.uni`

, `rma.glmm`

, `rma.mh`

, and `rma.mv`

for other model fitting functions.

`dat.collins1985a`

, `dat.collins1985b`

, and `dat.yusuf1985`

for further examples of the use of the `rma.peto`

function.

```
### meta-analysis of the (log) odds ratios using Peto's method
rma.peto(ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg)
#>
#> Equal-Effects Model (k = 13)
#>
#> I^2 (total heterogeneity / total variability): 92.85%
#> H^2 (total variability / sampling variability): 13.98
#>
#> Test for Heterogeneity:
#> Q(df = 12) = 167.7302, p-val < .0001
#>
#> Model Results (log scale):
#>
#> estimate se zval pval ci.lb ci.ub
#> -0.4744 0.0407 -11.6689 <.0001 -0.5541 -0.3948
#>
#> Model Results (OR scale):
#>
#> estimate ci.lb ci.ub
#> 0.6222 0.5746 0.6738
#>
```