Title: | Replicability-Analysis Tools for Meta-Analysis |
---|---|
Description: | User-friendly package for reporting replicability-analysis methods, affixed to meta-analyses summary. The replicability-analysis output provides an assessment of the investigated intervention, where it offers quantification of effect replicability and assessment of the consistency of findings. - Replicability-analysis for fixed-effects and random-effect meta analysis: - r(u)-value; - lower bounds on the number of studies with replicated positive and\or negative effect; - Allows detecting inconsistency of signals; - forest plots with the summary of replicability analysis results; - Allows Replicability-analysis with or without the common-effect assumption. |
Authors: | Iman Jaljuli [cre, aut] |
Maintainer: | Iman Jaljuli <[email protected]> |
License: | GPL (>= 2) |
Version: | 1.2.0 |
Built: | 2025-03-09 03:56:54 UTC |
Source: | https://github.com/ijaljuli/metarep |
A dataset containing the meta-data of the the intervention 'Invitation letter' (CMP001), in the review "PStrategies for increasing the participation of women in community breast cancer screening" (CD002943) the results were reported by 5 studies, and analysed by Fixed-Effects meta-analysis.
CD002943_CMP001
CD002943_CMP001
A data frame with 5 rows of 12 variables:
Name of the study.
Stydy weight in meta-analysis as reported in th review.
Number of events in the first group tested.
Number of events in the second group tested.
Number of patirnts in the first group tested.
Number of patirnts in the second group tested.
Names of the first group in each study.
Names of the second group in each study.
Overall number of studies in the meta-analysis
Cochrane Database review number
A character string indicating which summary measure ("RR", "OR", "RD", or "ASD") is to be used for pooling of studies.
"YES" or "NO" indicating whether random-effects meta-analysis was performed.
https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD002943/full
A dataset containing the meta-data of the outcome 'Leukopaenia' (CMP005), in the review "Texane-containing regimins for metastatic breast cancer" (CD003366) the results were reported by 28 studies, and analysed by Random-Effects meta-analysis.
CD003366_CMP005
CD003366_CMP005
A data frame with 28 rows and 12 variables:
Name of the study.
Stydy weight in meta-analysis as reported in th review.
Number of events in the first group tested.
Number of events in the second group tested.
Number of patirnts in the first group tested.
Number of patirnts in the second group tested.
Names of the first group in each study.
Names of the second group in each study.
Overall number of studies in the meta-analysis
Cochrane Database review number
A character string indicating which summary measure ("RR", "OR", "RD", or "ASD") is to be used for pooling of studies.
"YES" or "NO" indicating whether random-effects meta-analysis was performed.
https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD003366.pub3/full
A dataset containing the meta-data of the outcome 'Seroma formation' (CMP001), in the review "Wound drainage after axillary dissection for carcinoma of the breast" (CD006823) the results were reported by 7 studies, and analysed by Random-Effects meta-analysis.
CD006823_CMP001
CD006823_CMP001
A data frame with 7 rows and 12 variables:
Name of the study.
Stydy weight in meta-analysis as reported in th review.
Number of events in the first group tested.
Number of events in the second group tested.
Number of patirnts in the first group tested.
Number of patirnts in the second group tested.
Names of the first group in each study.
Names of the second group in each study.
Overall number of studies in the meta-analysis
Cochrane Database review number
A character string indicating which summary measure ("RR", "OR", "RD", or "ASD") is to be used for pooling of studies.
"YES" or "NO" indicating whether random-effects meta-analysis was performed.
https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD006823.pub2/full
A dataset containing the meta-data of the outcome 'cosmesis' (CMP001), in the review "Partial breast irradiation for early breast cancer" (CD007077) the results were reported by 5 studies, and analysed by Fixed-Effects meta-analysis.
CD007077_CMP001
CD007077_CMP001
A data frame with 5 rows and 12 variables:
Name of the study.
Stydy weight in meta-analysis as reported in th review.
Number of events in the first group tested.
Number of events in the second group tested.
Number of patirnts in the first group tested.
Number of patirnts in the second group tested.
Names of the first group in each study.
Names of the second group in each study.
Overall number of studies in the meta-analysis
Cochrane Database review number
A character string indicating which summary measure ("RR", "OR", "RD", or "ASD") is to be used for pooling of studies.
"YES" or "NO" indicating whether random-effects meta-analysis was performed.
https://www.cochranelibrary.com/cdsr/doi/10.1002/14651858.CD007077.pub3/full
lower bounds on the number of studies with increased and\ or decreased effect.
find_umax( x, alternative = "two-sided", t = 0.05, confidence = 0.95, common.effect = FALSE )
find_umax( x, alternative = "two-sided", t = 0.05, confidence = 0.95, common.effect = FALSE )
x |
Object of class 'meta' |
alternative |
'less', 'greater' or 'two-sided' |
t |
truncation threshold for truncated-Pearsons' test ('t=0.05' by default). t is ignored if 'common.effect = TRUE'. |
confidence |
Confidence level used in the computaion of the lower bound(s) |
common.effect |
Use common.effect = FALSE (default) for replicability-analysis combining with no assumptions (Pearson or truncated-Pearson test). |
An object of class list reporting the bounds on the number of studies with a positive or negative effect, as follows:
worst.case |
A charachter vector of the names of
|
side |
The direction of the replicated signal in the 'worst.case' studies. 'less' if the effect is negative, 'greater' if positive. |
u_max |
The bound on the number of studies with either a positive or a negative effect. |
r-value |
The 'u-out-of-n' |
Replicability_Analysis |
Report of the replicability lower bounds on the number of studies with negative effect and with positive effect. |
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1, event.c = c.i,n.c = n.i.2, studlab = paste('Study',1:7), sm = 'OR', common = FALSE, random = TRUE ) find_umax(m1 , common.effect = FALSE, alternative = 'two-sided', t = 0.05 , confidence = 0.95 )
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1, event.c = c.i,n.c = n.i.2, studlab = paste('Study',1:7), sm = 'OR', common = FALSE, random = TRUE ) find_umax(m1 , common.effect = FALSE, alternative = 'two-sided', t = 0.05 , confidence = 0.95 )
Draws a forest plot in the active graphics window (using grid graphics system).
## S3 method for class 'metarep' forest(x, ...)
## S3 method for class 'metarep' forest(x, ...)
x |
An object of class 'metarep'. |
... |
Arguments to be passed to methods, see |
No return value, called for side effects
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) forest(mr1, layout = "RevMan5", common = FALSE, label.right = "Favours control", col.label.right = "red", label.left = "Favours experimental", col.label.left = "green", prediction = TRUE)
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) forest(mr1, layout = "RevMan5", common = FALSE, label.right = "Favours control", col.label.right = "red", label.left = "Favours experimental", col.label.left = "green", prediction = TRUE)
Add results of replicability-analysis to a meta-analysis, whether common- or random-effects.
metarep( x, u = 2, t = 0.05, alternative = "two-sided", report.u.max = FALSE, confidence = 0.95, common.effect = FALSE )
metarep( x, u = 2, t = 0.05, alternative = "two-sided", report.u.max = FALSE, confidence = 0.95, common.effect = FALSE )
x |
object of class 'meta' |
u |
replicability requirement. |
t |
truncation threshold for truncated-Pearsons' test ('t=0.05' by default). t is ignored if 'common.effect = TRUE'. |
alternative |
use 'less', 'greater' or 'two-sided' |
report.u.max |
use TREU to report the lower bounds on number of studies with replicated effect. |
confidence |
Confidence level used in the computaion of the lower bound(s) |
common.effect |
Use common.effect = FALSE (default) for replicability-analysis combining with no assumptions (Pearson or truncated-Pearson test). Replicability-analysis based on the test-statistic of common-effects model can be applied using common.effect = TRUE. |
An object of class list containing meta-analysis and replicability analysis results, as follows:
worst.case.studies |
A charachter vector of the names of |
r.value |
|
side |
The direction of the effect with the lower one-sided |
u_L , u_R
|
Lower bounds of the number of studies with decreased or increased effect, respectively. Both bounds are reported simultinualsly only when performing replicability analysis for two-sided alternative with no assumptions |
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) forest(mr1, layout='revman5',digits.pval = 4 , test.overall = TRUE )
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) forest(mr1, layout='revman5',digits.pval = 4 , test.overall = TRUE )
One-sided replicability analysis
metaRvalue.onesided.U( x, u = 2, common = FALSE, random = TRUE, alternative = "less", do.truncated.umax = TRUE, alpha.tilde = 0.05 )
metaRvalue.onesided.U( x, u = 2, common = FALSE, random = TRUE, alternative = "less", do.truncated.umax = TRUE, alpha.tilde = 0.05 )
x |
object of class 'meta' |
u |
integer between 2- |
common |
logical |
random |
logical |
alternative |
'less' or 'greater' only. |
do.truncated.umax |
logical. |
alpha.tilde |
between (0,1) |
No return value, called for internal use only.
Print method for objects of class 'metarep'.
## S3 method for class 'metarep' print(x, details.methods = TRUE, ...)
## S3 method for class 'metarep' print(x, details.methods = TRUE, ...)
x |
An object of class 'metarep' |
details.methods |
A logical specifying whether details on statistical methods should be printed |
... |
Arguments to be passed to methods, see |
No return value, called for side effects.
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) print(mr1, digits = 2)
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) print(mr1, digits = 2)
Print method for objects of class 'summary.metarep'.
## S3 method for class 'summary.metarep' print(x, details.methods = TRUE, ...)
## S3 method for class 'summary.metarep' print(x, details.methods = TRUE, ...)
x |
An object of class 'summary.metarep' |
details.methods |
A logical specifying whether details on statistical methods should be printed |
... |
Arguments to be passed to methods, see |
No return value, called for side effects.
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) print(summary(mr1), digits = 2)
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) print(summary(mr1), digits = 2)
Summary method for objects of class 'metarep'.
## S3 method for class 'metarep' summary(object, ...)
## S3 method for class 'metarep' summary(object, ...)
object |
An object of class 'metarep'. |
... |
Arguments to be passed to methods, see |
A list of the quantities for replicability analysis, as follows:
meta-analysis results: |
Summary of the supplied 'meta' object. |
r.value: |
r-value of the tested alternative. |
u.increased: |
Maximal number of studies at which replicability of increasing effect can be claimed. It will be reported unless the alternative is 'less'. |
u.decreased: |
Maximal number of studies at which replicability of increasing effect can be claimed. It will be reported unless the alternative is 'greater'. |
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) summary(mr1)
n.i.1 <- c( 20, 208, 24, 190, 58, 36, 51) a.i <- c( 2,79,0,98,15,34,9) n.i.2 <- c( 20, 119, 22, 185, 29, 51, 47) c.i <- c(9,106,14,98,12,49,9) m1 <- metabin( event.e = a.i,n.e = n.i.1,event.c = c.i,n.c = n.i.2, studlab = paste0('Study ' , 1:7) , sm = 'OR' , common = FALSE, random = TRUE ) mr1 <- metarep( m1 , u = 2, common.effect = FALSE , t = 0.05 , alternative = 'two-sided', report.u.max = TRUE) summary(mr1)
Apply Truncated-Pearsons' test or ordinary Pearsons' test on one-sided p-values.
truncatedPearson(p, alpha.tilde = 1)
truncatedPearson(p, alpha.tilde = 1)
p |
one-sided p-values of the individual studies for testing one-sided alternative based on z-test. |
alpha.tilde |
truncartion threshold for truncated-Pearson test. Use alpha.tilde = 1 for ordinary Pearsons' test for combining p-values. |
A 'list' containing the following quantities:
chisq: |
Pearson test statistic |
df: |
degrees of freedom of truncated-Pearson statistic |
rvalue: |
p-value of the test |
validp: |
p-values used in the test. |
truncatedPearson( p = c( 0.001 , 0.01 , 0.1 ) , alpha.tilde = 1 ) truncatedPearson( p = c( 0.001 , 0.01 , 0.1 ) , alpha.tilde = 0.05 )
truncatedPearson( p = c( 0.001 , 0.01 , 0.1 ) , alpha.tilde = 1 ) truncatedPearson( p = c( 0.001 , 0.01 , 0.1 ) , alpha.tilde = 0.05 )