The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

An overview on R-pakcage aides

Additive Information & Details of Evidence Synthesis

CRAN
Date
Lifecycle: stable
Licence



Prologue

The aides, a R package, emerges as a collection of functions designed to provide supplementary information and intricacies in the processes of data synthesis and evidence evaluation. In the realm of evidence-based decision-making, these processes are pivotal, shaping the foundation upon which informed conclusions are drawn. The aides, essentially a toolkit for pooled analysis of aggregated data, is crafted to enhance the inclusivity and depth of this decision-making approach.

Developed with core values of flexibility, ease of use, and comprehensibility, aides plays a crucial role in simplifying the often complex analysis process. This accessibility extends to both seasoned professionals and the broader public, fostering a more widespread engagement with synthesized evidence. The significance of such engagement cannot be overstated, as it empowers individuals to navigate through the intricacies of data, promoting a better understanding of the evidence at hand.

Moreover, aides is committed to staying at the forefront of advances in the methodology of data synthesis and evidence evaluation. This commitment ensures that users have access to some advanced methods, further enhancing the robustness and reliability of their decision-making processes. In the long term, the overarching goal of the aides package is to contribute to knowledge translation, enabling individuals to make decisions based on a comprehensive understanding of the evidence. In essence, aides serves as a beacon, guiding users through the complex terrain of data synthesis and evidence evaluation, ultimately facilitating informed and impactful decision-making.

Users are suggested to use functions in aides by calling the library with following syntax:

library(aides)


1 Focuses & functions

Briefly, aides currently consists of three focuses as follows:


Users can import their data and do relevant tests or graphics using functions in package aides. The present package consists of eight functions listed as follows:

Disparity test:
PlotDistrSS() In the section of Disparity test (Step 3) Lifecycle: stable
TestDisparity() In the section of Disparity test (Step 4) Lifecycle: stable
PlotDisparity() In the section of Disparity test (Step 5) Lifecycle: stable
Discordance test:
TestDiscordance() In the section of Discordance test (Step 3) Lifecycle: experimental
Sequential analysis:
DoSA() In the section of Sequential analysis (Step 2) Lifecycle: stable
DoOSA() In the section of Sequential analysis (additional) Lifecycle: experimental
PlotOSA() In the section of Sequential analysis (additional) Lifecycle: experimental
PlotPower() In the section of Sequential analysis (additional) Lifecycle: experimental



2 Examples

2.1 Disparity test

The following descriptions and syntax outline the process for conducting a disparity test. Users begin by assessing the distribution of sample sizes among studies and visually inspecting them to determine the suitable method for the disparity test. Subsequently, two types of disparity tests are performed: outlier-based and variability-based disparity assessments. Due to the nuanced nature of disparity assumptions, it is advisable to evaluate both outlier-based and variability-based disparities.

Step 1: Import data (example of the study by Olkin 1995)

library(meta)
data("Olkin1995")
dataOlkin1995 <- Olkin1995


Step 2: Process data

dataOlkin1995$n <- dataOlkin1995$n.exp + dataOlkin1995$n.cont


Step 3: Check distribution of study sizes

The statistical analysis in this phase relies on normality tests such as the Shapiro–Wilk test and the Kolmogorov–Smirnov test (Conover, 1971; Royston, 1982). While both tests assume normality as the null hypothesis and generate a test statistic based on the sample, they differ in their sensitivity to features of normal distributions. The Shapiro-Wilk test is specifically designed for testing normality, whereas the Kolmogorov-Smirnov test is more general but less powerful, meaning it is less likely to correctly reject the null hypothesis of normality.

The Shapiro-Wilk test is specifically designed to assess the normality assumption by evaluating whether a given sample of data comes from a normally distributed population (Royston, 1982). It computes a test statistic (\(W\)) based on the deviation of sample data from a hypothetical normal distribution. The application of the Shapiro–Wilk method for evaluating the normality of sample sizes entails substituting sample values and sample mean with the respective parameters of interest, namely the number of individuals (\(i\)) and the average study size (\(\overline{i}\)). Subsequent to this substitution, the test statistic for assessing the normality of sample sizes (\(W_k\)) can be computed by incorporating the provided information alongside the study size of each individual study (\(i_{(j)}\)), while accounting for constants (\(c_j\)) derived from the number of studies and expected values under the null hypothesis of normality.

Similarly, the Kolmogorov–Smirnov test compares the empirical distribution function (EDF) of the sample dataset to the cumulative distribution function (CDF) of a specified theoretical distribution, such as the normal distribution (Conover, 1971). The test statistic (\(D\)) represents the maximum absolute difference between the EDF and the CDF. Both tests are commonly employed to ascertain the normality of data before proceeding with further statistical analyses. A straightforward approach to assess normality utilizing the Kolmogorov–Smirnov method involves inputting the study sizes of the individual studies into the designated formula. The test statistic (\(D_k\)) is then computed accordingly.

As both tests are commonly employed methods, users can simply employ the shapiro.test() or ks.test() functions in R core package stats for testing of sample normality.

shapiro.test(dataOlkin1995$n)
ks.test(dataOlkin1995$n, "pnorm")

#> 
#>  Shapiro-Wilk normality test
#> 
#> data:  dataOlkin1995$n
#> W = 0.2596, p-value < 2.2e-16
#> 
#>  Asymptotic one-sample Kolmogorov-Smirnov test
#> 
#> data:  dataOlkin1995$n
#> D = 1, p-value < 2.2e-16
#> alternative hypothesis: two-sided


The aides package utilizes them for testing distribution before conducting disparity tests. The analysis can be visualized using the PlotDistrSS() function (Figure 2.1). Default of thePlotDistrSS() function is based on the Shapiro-Wilk test.

PlotDistrSS(n = n,
            data = dataOlkin1995, 
            study = author, 
            time = year)


Additionally, if users would like to check normality using Kolmogorov-Smirnov test, they can set parameter method with argument "ks" in the function PlotDistrSS().

PlotDistrSS(n = n,
            data = dataOlkin1995, 
            study = author, 
            time = year,
            method = "ks")
An example for visualization of distribution of study sizes

Figure 2.1: An example for visualization of distribution of study sizes


Step 4: Test assumption of disparity in study size

Essentially, the assessment of outlier-based disparity can be conducted using the function TestDisparity(), which requires parameters such as n, data, study, and time. The syntax for implementing this analysis is as follows:

TestDisparity(n = n, 
              data = dataOlkin1995, 
              study = author, 
              time = year)
#> Summary of disparities in sample size test:
#> Number of outliers = 13 (Excessive cases = 36509; P-value < 0.001)
#> Variability = 3.658 (P-value < 0.001)
#> 
#> Outlier detection method: MAD
#> Variability detection method: CV


Figure 2.2 visualizes the outlier-based disparity based on the excessive cases of oulier(s).

TestDisparity(n = n,
              data = dataOlkin1995, 
              study = author, 
              time = year, 
              plot = TRUE)
An example for disparity-outlier plot

Figure 2.2: An example for disparity-outlier plot


Step 5: Illustrate disparity plot

Due to non-normal distribution among the study sizes as shown in Step 3 (Figure 2.1 and also see the results of normality tests), robust method is recommended for testing variability, which can be carried out by the following syntax:

rsltDisparity <- TestDisparity(n = n, 
                               data = dataOlkin1995, 
                               study = author, 
                               time = year,
                               vrblty = "MAD")
#> Summary of disparities in sample size test:
#> Number of outliers = 13 (Excessive cases = 36509; P-value < 0.001)
#> Variability = 0.951 (P-value < 0.001)
#> 
#> Outlier detection method: MAD
#> Variability detection method: MAD


The following syntax instead of step 5 aforementioned is recommended for illustrating disparity plot of variability based on robust coefficient of variation:

PlotDisparity(rsltDisparity, 
              which = "CV", 
              szFntAxsX = 1)
An example for disparity-variability (robust) plot

Figure 2.3: An example for disparity-variability (robust) plot


2.2 Discordance

The following steps and syntax demonstrate how user can carry out discordance test. Figure 2.4 visualizes the test.


Step 1: Import data (example of the study by Fleiss 1993)

library(meta)
data("Fleiss1993bin")
dataFleiss1993bin <- Fleiss1993bin


Step 2: Process data

dataFleiss1993bin$n  <- dataFleiss1993bin$n.asp + dataFleiss1993bin$n.plac
dataFleiss1993bin$se <- sqrt((1 / dataFleiss1993bin$d.asp) - (1 / dataFleiss1993bin$n.asp) + (1 / dataFleiss1993bin$d.plac) - (1 / dataFleiss1993bin$n.plac))


Step 3: Test assumption of discordance in study size

TestDiscordance(n = n, 
                se = se, 
                study = study,
                data = dataFleiss1993bin)
#> Summary of discordance in ranks test:
#>  Statistics (Bernoulli exact): 2
#>  P-value: 0.423
#>  Note: No significant finding in the test of discordance in study size ranks.


Step 4: Illustrate discordance plot

TestDiscordance(n = n, 
                se = se, 
                study = study, 
                data = dataFleiss1993bin, 
                plot = TRUE)
An example for discordance plot

Figure 2.4: An example for discordance plot


2.3 Sequential analysis

Sequential analysis in evidence-based medicine is a statistical approach applied in clinical trials and meta-analyses to continually assess accumulating data, allowing for interim decisions on the effectiveness or safety of medical interventions (Kang, 2021; Jennison & Turnbull, 2005; Wetterslev et al., 2017; Wetterslev et al., 2008). In contrast to traditional methods that wait for all data to be collected, sequential analysis enables periodic assessments during a trial. This method is especially valuable when ongoing assessment is ethically or practically necessary. It seeks to balance the need for robust statistical inference with the ethical duty to ensure participant safety and prompt decision-making that can influence clinical practice. Traditional sequential analysis is proposed for prospective design in terms of trial, and could be adapted for prospective meta-analysis (PMA). Proper planning and pre-specification in study protocols are crucial for maintaining the integrity of sequential analysis (Thomas et al., 2019). In other words, it is generally discouraged to employ sequential analysis methodologies for conventional meta-analysis (CMA) lacking pre-established parameters within the study protocol. However, it is imperative to acknowledge the persistent relevance of sequential methodologies in facilitating the assessment of error control mechanisms by researchers and clinicians. In scenarios where relevant parameters for sequential analysis remain unspecified, conducting observed sequential analysis serves as a valuable strategy for evaluating the efficacy of error control measures within a synthesis.

2.3.1 Fundamental method of sequential analysis

Sequential method has the capability to manage the overall Type I error in clinical trials and cumulative meta-analyses through the utilization of an alpha spending function, exemplified by the approach introduced by O’Brien & Fleming (1979). Based on required sample size (RSS) or required information size (RIS), sequential analysis applies the alpha spending function to allocate less significance level to early interim analyses, demanding more substantial evidence for declaring statistical significance. Critical boundaries for significance are determined by this function, becoming less stringent as more data accumulates. Sequential analysis uses these boundaries to monitor effects at each interim analysis, declaring statistical significance if the cumulative Z-score crosses them. This approach minimizes the risk of false positives in sequential analyses, where multiple interim analyses are conducted, while maintaining the ability to detect true effects.

Therefor, the essentials of sequential meta-analysis encompass various elements including study time, sample size, and cumulative Z-scores derived from cumulative meta-analysis following a temporal order. Additionally, integral to this analysis are the anticipated effects of intervention or exposure, which are either predetermined or established through prior estimates, along with their respective variances. Moreover, the formulation accounts for predefined probabilities associated with Type I error (denoted as \(\alpha\)) and Type II error (denoted as \(\beta\)). Leveraging this comprehensive set of parameters, particularly the anticipated effects and their associated variances in conjunction with \(\alpha\) and \(\beta\), this methodology facilitates the computation of the RIS and the establishment of alpha-spending monitoring boundaries. By charting the information size axis, the analysis offers a comprehensive visualization of the cumulative Z-scores and the accompanying alpha-spending monitoring boundaries (Wetterslev et al., 2008; Wetterslev et al., 2009; Wetterslev et al., 2017).

Within the realm of sequential method, the concept of the RIS holds paramount significance as it serves as the cornerstone for establishing spending monitoring boundaries, necessitated by adjustments to accommodate multiple interim analyses (Wetterslev et al., 2017). Essentially, sequential methods encompass considerations pertinent to sample size determination, albeit employing an approach divergent from conventional methodologies employed in hypothesis testing or estimation. The determination of the information size, delineating the RSS, hinges crucially upon various parameters including the anticipated effect size, statistical power, significance level, and any requisite adjustments tailored for multiple testing scenarios. Conventionally, the determination of the RSS encompasses an assessment of intervention or exposure effects, their variance, as well as the predefined probabilities associated with Type I error (\(\alpha\)) and Type II error (\(\beta\)). The formula governing the calculation of the RSS is as follows:

\[\begin{equation} RSS = 4 \times (Z_{1-\alpha/2} + Z_{1 - \beta})^2 \times \frac{\sigma^2} {\delta^2} \tag{2.1} \end{equation}\]

Where
\(\alpha\) represents the predefined overall probabilities of false positive.
\(\beta\) represents the predefined overall probabilities of false negative.
\(\delta\) refers to the assumed effect, representing either the minimal or expected meaningful effect.
\(\sigma^2\) refers to the variance that associated with the assumed effect.


In the context of dichotomous outcomes, the parameter \(\delta\) can be substituted with the effect size that a trial aims to address, denoted by \(\mu\), derived from the difference in proportions between the control and experimental groups, represented by \(P_{control} - P_{experiment}\). Here, \(P_{control}\) and \(P_{experiment}\) signify the proportions of observed events in the control and experimental groups, respectively. The variance \(\sigma^2\) is computed as \(P_{average} \times (1 - P_{average})\), where \(P_{average}\) is derived from \((P_{control} + P_{experiment}) / 2\) (Wetterslev et al., 2017). For continuous outcomes, the RSS can be determined as follows:

\[\begin{equation} RSS_{continuous} = 4 \times (Z_{1-\alpha/2} + Z_{1 - \beta})^2 \times \frac{MD^2} {SD^2} \tag{2.2} \end{equation}\]

Where
\(\alpha\) represents the predefined overall probabilities of false positive.
\(\beta\) represents the predefined overall probabilities of false negative.
\(MD\) refers to the assumed mean difference between two groups.
\(SD\) refers to the standard deviation that associated with the assumed mean difference.


Based on the basic formula for calculating RSS, RIS in sequential method could be calculated by using assumed pooled effect and the variance that associated with the assumed pooled effect (Wetterslev et al., 2017). Thus, the formula for the calculation of the RIS for meta-analysis in fixed-effect model is as follows:

\[\begin{equation} RIS_{fixed} = 4 \times (Z_{1-\alpha/2} + Z_{1 - \beta})^2 \times \frac{V_{fixed}} {\theta^2} \tag{2.3} \end{equation}\]

Where
\(\alpha\) represents the predefined overall probabilities of false positive.
\(\beta\) represents the predefined overall probabilities of false negative.
\(\theta\) refers to the assumed pooled effect, representing either the minimal or expected meaningful effect.
\(V_{fixed}\) refers to the variance that associated with the assumed pooled effect in fixed-effect model.


In meta-analysis employing the random-effects model, the calculation of the RIS follows a similar formula, but with a substitution of the variance associated with the assumed pooled effect by the variance specific to the random-effects model. RIS for meta-sequential analysis in random-effects model can be denoted as \(RIS_{random}\). For a conservative estimation of the RIS in meta-analyses featuring heterogeneity, it is advisable to incorporate a heterogeneity correction factor (Wetterslev et al., 2008), also referred to as the Adjusted Factor (AF) in Trial Sequential Analysis (TSA) (Wetterslev et al., 2009; Wetterslev et al., 2017). Obviously, the calculation of the heterogeneity correction factor is inherently tied to the heterogeneity statistics. The I-squared statistic (denoted as \(I^2\)) is particularly suited for this purpose, serving as a widely utilized measure for quantifying and assessing heterogeneity (Higgins & Thompson, 2002). \(I^2\)-based AF (denoted as \(AF_{I^2}\)) can be derived from the formula as follow:

\[\begin{equation} AF_{I^2} = \frac{1} {(1 - I^2)} \tag{2.4} \end{equation}\]


However, \(I^2\) may provide misleading estimates due to uncertainties in the sampling error could introduce bias or inaccuracies into the analysis. Alternative measures or adjustments that are less susceptible to issues related to sampling error estimation should be considered (Wetterslev et al., 2009). Diversity (denoted as \(D^2\)) has been proposed as a pivotal parameter in the computation of AF for the RIS in random-effects meta-analysis (Wetterslev et al., 2009; Wetterslev et al., 2017). It is derived from the variances observed in both the random-effects model (\(V_{random}\)) and the fixed-effect model (\(V_{fixed}\)). The formula for calculating \(D^2\) is as follows:

\[\begin{equation} D^2 = \frac{(V_{random} - V_{fixed})} {V_{random}} \tag{2.5} \end{equation}\]


Then, the calculation of \(D^2\)-based AF (denoted as \(AF_{D^2}\)) is similar to the formula of \(AF_{I^2}\) with replacement of \(I^2\) by \(D^2\). When addressing concerns regarding sampling error or bias, \(AF_{D^2}\) offers notable advantages over \(AF_{I^2}\) because \(D^2\) operates without the prerequisite of assuming a typical sampling error (usually denoted as \(\sigma^2\)). Besides, it accurately mirrors the relative variance expansion resultant from the between-trial variance estimate, and exhibits a propensity to diminish as the estimate decreases, even when applied to identical study sets (Wetterslev et al., 2009).

To provide a conservative estimation of the RIS for meta-analyses with heterogeneity, it is recommended to utilize an adjusted RIS. This can be achieved by multiplying \(RIS_{random}\) by the AF (Wetterslev et al., 2009). Subsequently, there are two the I-squared-adjusted information size (HIS) can be derived by further multiplying \(RIS_{random}\) by \(AF_{I^2}\). Similarly, the diversity-adjusted information size (DIS) is obtained by calculating \(RIS_{random}\) multiplied by \(AF_{D^2}\), as suggested by Wetterslev et al. (2009).

The following steps and syntax demonstrate how user can carry out sequential analysis. Figure 2.5 sequential analysis plot. This demonstration serves as a guide for users intending to conduct a prospective meta-analysis with predefined parameters such as Type I error (\(\alpha\)), Type II error (\(\beta\)), presumed effect size (relative risk reduction, denoted as \(RRR\), for dichotomous outcomes; mean difference, denoted as \(MD\), for continuous outcomes), an estimate of the variability associated with the presumed effect. However, this demonstration may not be applicable for meta-analyses conducted without such pre-specified parameters.


Step 1: Import data (example of the study by Fleiss 1993)

library(meta)
data("Fleiss1993bin")
dataFleiss1993bin <- Fleiss1993bin


Step 2: Do sequential analysis

DoSA(Fleiss1993bin, 
     source = study, 
     time = year,
     r1 = d.asp, 
     n1 = n.asp, 
     r2 = d.plac, 
     n2 = n.plac, 
     measure = "RR",
     PES = 0.1,
     RRR = 0.2,
     group = c("Aspirin", "Placebo"))
#> Summary of sequential analysis (main information)
#>  Acquired sample size: 28003
#>  Required sample size (heterogeneity adjusted): 21279
#>  Cumulative z score: -2.035
#>  Alpha-spending boundary: 1.709 and -1.709
#>  Adjusted confidence interval is not necessary to be performed.
#> 
#> Summary of sequential analysis (additional information)
#>  1. Assumed information
#>  1.1. Defined type I error: 0.05
#>  1.2. Defined type II error: 0.2
#>  1.3. Defined power: 0.8
#>  1.4. Presumed effect: 0.025
#>       (risks in group 1 and 2 were 9.90061431% (expected) and 12.37576788% respectively; RRR = 0.2)
#>  1.5. Presumed variance: 0.101
#> 
#>  2. Meta-analysis
#>  2.1. Setting of the meta-analysis
#>  Data were pooled using inverse variance approach in random-effects model with DL method.
#>  2.2. Result of the meta-analysis 
#>  Log RR: -0.113 (95% CI: -0.222 to -0.004)
#>  
#>  3. Adjustment factor 
#>  The required information size is calculated with adjustment factor based on diversity (D-squared). Relevant parameters are listed as follows.
#>  3.1. Heterogeneity (I-squared): 39.6%
#>  3.2. Diversity (D-squared): 76%
#>  3.3. Adjustement factor: 4.103


Step 3: Visualize sequential analysis

DoSA(Fleiss1993bin, 
     source = study, 
     time = year,
     r1 = d.asp, 
     n1 = n.asp, 
     r2 = d.plac, 
     n2 = n.plac, 
     measure = "RR",
     PES = 0.1,
     RRR = 0.2,
     group = c("Aspirin", "Placebo"),
     plot = TRUE)
An example for sequential analysis

Figure 2.5: An example for sequential analysis


2.3.2 Observed sequential analysis

Observed sequential analysis is recommended for those pooled analysis without pre-specified parameters for sequential analysis. In this situation, thus, Step 2 should use following syntax:

DoOSA(Fleiss1993bin, 
      source = study, 
      time = year,
      r1 = d.asp, 
      n1 = n.asp, 
      r2 = d.plac, 
      n2 = n.plac, 
      measure = "RR",
      group = c("Aspirin", "Placebo"))
#> Summary of observed sequential analysis (main information)
#>  Acquired sample size: 28003
#>  Optimal sample size (heterogeneity adjusted): 36177
#>  Cumulative z score: -2.035
#>  Alpha-spending boundary: 2.228 and -2.228
#>  Adjusted confidence interval is suggested to be performed.
#> 
#> Adjusted confidence interval based on type I error 0.0129503288310862: 
#> -0.252 to 0.025
#> 
#> Summary of observed sequential analysis (additional information)
#>  1. Observed information
#>  1.1. Defined type I error: 0.05
#>  1.2. Defined type II error: 0.2
#>  1.3. Defined power: 0.8
#>  1.4. Observed effect size 0.019
#>       (risks in group 1 and 2 were 10.47748283% and 12.37576788% respectively; logit transformation with Inverse method for pooling the proportion; RRR = 0.153)
#>  1.5. Observed variance: 0.101
#> 
#>  2. Meta-analysis
#>  2.1. Setting of the meta-analysis
#>  Data were pooled using inverse variance approach in random-effects model with DL method.
#>  2.2. Result of the meta-analysis 
#>  Log RR: -0.113 (95% CI: -0.222 to -0.004)
#>  
#>  3. Adjustment factor 
#>  The optimal information size is calculated with adjustment factor based on diversity (D-squared). Relevant parameters are listed as follows.
#>  3.1. Heterogeneity (I-squared): 39.6%
#>  3.2. Diversity (D-squared): 76%
#>  3.3. Adjustment factor: 4.103


2.3.2.1 Visualize basic plot of observed sequential analysis (example of the study by Fleiss 1993)

Observed sequential analysis could be visualized using the same function in terms of DoOSA() with argument TRUE for the parameter plot. The syntax and graph are shown as follows.

DoOSA(Fleiss1993bin,
      source = study,
      time = year,
      r1 = d.asp,
      n1 = n.asp,
      r2 = d.plac,
      n2 = n.plac,
      measure = "RR",
      group = c("Aspirin", "Placebo"),
      plot = TRUE)
An example for illustrating observed sequential analysis

Figure 2.6: An example for illustrating observed sequential analysis


2.3.2.2 Observed sequential analysis with colorful zones (example of the study by Fleiss 1993)

If users would like to show colorful zones of observed sequential analysis, two steps are recommended. Firstly, they need to store the output of function DoOSA() with argument TRUE for parameter Plot, then colorfur zones on the observed sequential analysis can be carried out using function PlotOSA() with argument TRUE for parameter lgcZone.


Step 1: Store observed sequential analysis with argument TRUE for parameter Plot

output <- DoOSA(Fleiss1993bin,
                source = study,
                time = year,
                r1 = d.asp,
                n1 = n.asp,
                r2 = d.plac,
                n2 = n.plac,
                measure = "RR",
                group = c("Aspirin", "Placebo"),
                SAP = TRUE)


Step 2: Show colorful zone on the observed sequential analysis with argument TRUE for parameter lgcZone

PlotOSA(output,
        lgcZone = TRUE)
An example for illustrating colorful zones on observed sequential analysis

Figure 2.7: An example for illustrating colorful zones on observed sequential analysis


2.3.2.3 Power curve of observed sequential analysis

If users would like to further illustrate power curve of the observed sequential analysis, two steps are recommended. Firstly, they need to store the output of function DoOSA() with argument TRUE for parameter SAP, then plot power curve of the observed sequential analysis using function PlotPower().


Step 1: Store output of observed sequential analysis with argument TRUE for parameter SAP

output <- DoOSA(Fleiss1993bin,
                source = study,
                time = year,
                r1 = d.asp,
                n1 = n.asp,
                r2 = d.plac,
                n2 = n.plac,
                measure = "RR",
                group = c("Aspirin", "Placebo"),
                SAP = TRUE)


Step 2: Power curve of observed sequential analysis

PlotPower(output)
An example for illustrating plot curve of observed sequential analysis

Figure 2.8: An example for illustrating plot curve of observed sequential analysis


Reference

Conover, W. J. (1971). Practical Nonparametric Statistics. New York: John Wiley & Sons. Pages 295–301.

Higgins, J. P., & Thompson, S. G. (2002). Quantifying heterogeneity in a meta‐analysis. Statistics in medicine, 21(11), 1539-1558. https://doi.org/10.1002/sim.1186

Jennison, C., & Turnbull, B. W. (2005). Meta-analyses and adaptive group sequential designs in the clinical development process. Journal of biopharmaceutical statistics, 15(4), 537–558. https://doi.org/10.1081/BIP-200062273

Kang, H. (2021). Trial sequential analysis: novel approach for meta-analysis. Anesthesia and Pain Medicine, 16(2), 138-150. https://doi.org/10.17085/apm.21038

O’Brien, P. C., & Fleming, T. R. (1979). A multiple testing procedure for clinical trials. Biometrics, 35(3), 549-556. https://doi.org/10.2307/2530245

Royston, P. (1982). An extension of Shapiro and Wilk’s WW test for normality to large samples. Applied Statistics, 31, 115–124. doi:10.2307/2347973. https://www.jstor.org/stable/2347973

Thomas, J., Askie, L. M., Berlin, J. A., Elliott, J. H., Ghersi, D., Simmonds, M., Takwoingi, Y., Tierney, J. F., Higgins, J. P. T. (2019). Prospective approaches to accumulating evidence. In Higgins J. P. T., & Green, S., (Eds.), Cochrane Handbook for Systematic Reviews of Interventions. Chichester (UK): John Wiley & Sons. https://training.cochrane.org/handbook/archive/v6/chapter-22

Wetterslev, J., Thorlund, K., Brok, J., & Gluud, C. (2008). Trial sequential analysis may establish when firm evidence is reached in cumulative meta-analysis. Journal of clinical epidemiology, 61(1), 64-75. https://doi.org/10.1016/j.jclinepi.2007.03.013

Wetterslev, J., Thorlund, K., Brok, J., & Gluud, C. (2009). Estimating required information size by quantifying diversity in random-effects model meta-analyses. BMC medical research methodology, 9(1), 1-12. https://doi.org/10.1186/1471-2288-9-86

Wetterslev, J., Jakobsen, J. C., & Gluud, C. (2017). Trial sequential analysis in systematic reviews with meta-analysis. BMC medical research methodology, 17(1), 1-18. https://doi.org/10.1186/s12874-017-0315-7

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.