Results from 14 studies on the effectiveness of hyperdynamic therapy for treating cerebral vasospasm.

dat.pritz1997

Format

The data frame contains the following columns:

studynumericstudy number
authorscharacterstudy authors
xinumericnumber of patients that improved with hyperdynamic therapy
ninumerictotal number of patients treated

Details

As described in Zhou et al. (1999), "hyperdynamic therapy refers to induced hypertension and hypervolaemia (volume expansion) to treat ischaemic symptoms due to vasospasm, and the success of this therapy is defined as clinical improvement in terms of neurologic deficits." For each study that was included in the meta-analysis, the dataset includes information on the number of patients that improved under this form of therapy and the total number of patients that were treated. The goal of the meta-analysis is to estimate the true (average) success rate of hyperdynamic therapy.

Source

Zhou, X.-H., Brizendine, E. J., & Pritz, M. B. (1999). Methods for combining rates from several studies. Statistics in Medicine, 18(5), 557–566. https://doi.org/10.1002/(SICI)1097-0258(19990315)18:5<557::AID-SIM53>3.0.CO;2-F

References

Pritz M. B., Zhou, X.-H., & Brizendine, E. J. (1996). Hyperdynamic therapy for cerebral vasospasm: A meta-analysis of 14 studies. Journal of Neurovascular Disease, 1, 6–8.

Pritz, M. B. (1997). Treatment of cerebral vasospasm due to aneurysmal subarachnoid hemorrhage: Past, present, and future of hyperdynamic therapy. Neurosurgery Quarterly, 7(4), 273–285.

Concepts

medicine, single-arm studies, proportions

Examples

### copy data into 'dat' and examine data
dat <- dat.pritz1997
dat
#>    study              authors xi ni
#> 1      1     Giannotta et al. 16 17
#> 2      2  Haraguchi and Ebina 10 12
#> 3      3    Swift and Solomon  4  8
#> 4      4       Kassell et al. 43 58
#> 5      5        Tanabe et al. 10 10
#> 6      6          Awad et al. 25 42
#> 7      7          Finn et al. 13 14
#> 8      8      Hadeishi et al. 12 12
#> 9      9        Otsubo et al. 22 41
#> 10    10 Muizelaar and Becker  4  5
#> 11    11    Rosenstein et al.  5  6
#> 12    12          Levy et al. 18 23
#> 13    13       Shimoda et al. 58 68
#> 14    14       Solomon et al.  6 10

# \dontrun{

### load metafor package
library(metafor)

### computation of "weighted average" in Zhou et al. (1999), Table IV
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat, add=0)
theta.hat    <- sum(dat$ni * dat$yi) / sum(dat$ni)
se.theta.hat <- sqrt(sum(dat$ni^2 * dat$vi) / sum(dat$ni)^2)
ci.lb        <- theta.hat - 1.96 * se.theta.hat
ci.ub        <- theta.hat + 1.96 * se.theta.hat
round(c(estimate = theta.hat, se = se.theta.hat, ci.lb = ci.lb, ci.ub = ci.ub), 4)
#> estimate       se    ci.lb    ci.ub 
#>   0.7546   0.0224   0.7106   0.7986 

### this is identical to an equal-effects model with sample size weights
rma(yi, vi, weights=ni, method="EE", data=dat)
#> Warning: There are outcomes with non-positive sampling variances.
#> Warning: Cannot compute Q-test, I^2, or H^2 when there are non-positive sampling variances in the data.
#> 
#> Equal-Effects Model (k = 14)
#> 
#> Model Results:
#> 
#> estimate      se     zval    pval   ci.lb   ci.ub      
#>   0.7546  0.0224  33.6491  <.0001  0.7106  0.7986  *** 
#> 
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 

### compute sampling variances under the assumption of homogeneity
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat, add=0, vtype="AV")
dat
#> 
#>    study              authors xi ni     yi     vi 
#> 1      1     Giannotta et al. 16 17 0.9412 0.0109 
#> 2      2  Haraguchi and Ebina 10 12 0.8333 0.0154 
#> 3      3    Swift and Solomon  4  8 0.5000 0.0231 
#> 4      4       Kassell et al. 43 58 0.7414 0.0032 
#> 5      5        Tanabe et al. 10 10 1.0000 0.0185 
#> 6      6          Awad et al. 25 42 0.5952 0.0044 
#> 7      7          Finn et al. 13 14 0.9286 0.0132 
#> 8      8      Hadeishi et al. 12 12 1.0000 0.0154 
#> 9      9        Otsubo et al. 22 41 0.5366 0.0045 
#> 10    10 Muizelaar and Becker  4  5 0.8000 0.0370 
#> 11    11    Rosenstein et al.  5  6 0.8333 0.0309 
#> 12    12          Levy et al. 18 23 0.7826 0.0081 
#> 13    13       Shimoda et al. 58 68 0.8529 0.0027 
#> 14    14       Solomon et al.  6 10 0.6000 0.0185 
#> 

### fit equal-effects model (same estimate, but SE is slightly different)
rma(yi, vi, data=dat, method="EE")
#> 
#> Equal-Effects Model (k = 14)
#> 
#> I^2 (total heterogeneity / total variability):   65.22%
#> H^2 (total variability / sampling variability):  2.87
#> 
#> Test for Heterogeneity:
#> Q(df = 13) = 37.3750, p-val = 0.0004
#> 
#> Model Results:
#> 
#> estimate      se     zval    pval   ci.lb   ci.ub      
#>   0.7546  0.0238  31.6615  <.0001  0.7079  0.8013  *** 
#> 
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 

### under the assumption of homogeneity, the sum of independent binomial
### counts also follows a binomial distribution; this approach yields the same
### estimate and SE as above
agg <- escalc(measure="PR", xi=sum(dat$xi), ni=sum(dat$ni))
summary(agg)
#> 
#>       yi     vi    sei      zi   pval  ci.lb  ci.ub 
#> 1 0.7546 0.0006 0.0238 31.6615 <.0001 0.7079 0.8013 
#> 

### could also compute an 'exact' CI based on the Clopper-Pearson method
binom.test(sum(dat$xi), sum(dat$ni))
#> 
#> 	Exact binomial test
#> 
#> data:  sum(dat$xi) and sum(dat$ni)
#> number of successes = 246, number of trials = 326, p-value < 2.2e-16
#> alternative hypothesis: true probability of success is not equal to 0.5
#> 95 percent confidence interval:
#>  0.7041627 0.8003469
#> sample estimates:
#> probability of success 
#>              0.7546012 
#> 

### logistic regression model
res <- rma.glmm(measure="PLO", xi=xi, ni=ni, data=dat, method="EE")
res
#> 
#> Equal-Effects Model (k = 14)
#> 
#> Tests for Heterogeneity:
#> Wld(df = 13) = 25.0979, p-val = 0.0224
#> LRT(df = 13) = 42.2324, p-val < .0001
#> 
#> Model Results:
#> 
#> estimate      se    zval    pval   ci.lb   ci.ub      
#>   1.1233  0.1287  8.7277  <.0001  0.8710  1.3756  *** 
#> 
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 
predict(res, transf=transf.ilogit)
#> 
#>    pred  ci.lb  ci.ub 
#>  0.7546 0.7050 0.7983 
#> 

### the results above suggest that the true proportions may be heterogeneous

### random-effects model with raw proportions
dat <- escalc(measure="PR", xi=xi, ni=ni, data=dat)
res <- rma(yi, vi, data=dat)
predict(res)
#> 
#>    pred     se  ci.lb  ci.ub  pi.lb  pi.ub 
#>  0.7968 0.0423 0.7138 0.8797 0.5306 1.0629 
#> 

### random-effects model with logit transformed proportions
dat <- escalc(measure="PLO", xi=xi, ni=ni, data=dat)
res <- rma(yi, vi, data=dat)
predict(res, transf=transf.ilogit)
#> 
#>    pred  ci.lb  ci.ub  pi.lb  pi.ub 
#>  0.7575 0.6605 0.8337 0.4661 0.9179 
#> 

### mixed-effects logistic regression model
res <- rma.glmm(measure="PLO", xi=xi, ni=ni, data=dat)
predict(res, transf=transf.ilogit)
#> 
#>    pred  ci.lb  ci.ub  pi.lb  pi.ub 
#>  0.7984 0.6924 0.8746 0.4426 0.9518 
#> 

# }