Performs permutation-calibrated fixed-gamma tests and an adaptive hybrid test for assessing time-lag bias in meta-analysis introduced in Xing et al. (2026).
pb.timelag(y, v, time, B = 5000, tau2 = NULL)A list containing the following components:
p.valuethe permutation p-values for T1 through T8, TInf, and the hybrid test.
statisticthe observed values of T1 through T8 and TInf.
tau2the supplied or estimated between-study variance.
Bthe number of permutation iterations.
a numeric vector specifying the observed effect sizes in the collected studies.
a numeric vector specifying the corresponding within-study variances.
a numeric vector specifying the publication times of the studies.
a positive integer specifying the number of permutation iterations. The default is 5000.
an optional non-negative value specifying the between-study variance. If NULL, it is estimated using the restricted maximum-likelihood method.
Zhiyuan Yu, Xing Xing, Lifeng Lin
The studies are first ordered by publication time. For each position in the ordered sequence, the function constructs a standardized cumulative contrast between the corresponding study and all later studies. The resulting contrasts are combined using powers 1 through 8 and the maximum statistic.
The null distributions of the fixed-gamma statistics are obtained by jointly permuting each study's effect size and within-study variance with respect to publication order. The hybrid test uses the minimum fixed-gamma permutation p-value and an additional permutation calibration to account for the adaptive selection across candidate statistics.
When multiple studies have the same value of time, their ordering is determined by their original order in the supplied vectors.
Xing X, Yu Z, Xiao M, Tong J, Lin L (2026). "Flexible nonparametric assessment of time-lag bias in meta-analysis." Biostatistics, in press.
pb.bayesian.binary, pb.hybrid.binary, pb.hybrid.generic
data("dat.sherrington")
set.seed(100)
out <- pb.timelag(
y = dat.sherrington$yi,
v = dat.sherrington$vi,
time = dat.sherrington$year,
B = 100
)
out$p.value
Run the code above in your browser using DataLab