ABSORB: Fit ABSORB model for adjusting for outcome reporting bias in...

Description Usage Arguments Value Examples

View source: R/ABSORB.R

Description

This function accepts the study sizes, the first outcome (y1), the standard errors (SEs) of the first outcome (s1), the second outcome (y2), and the SEs for the second outcome (s2). The function returns posterior point estimates and posterior samples for the parameters under the ABSORB model.

Usage

1
ABSORB(study_sizes, y1, s1, y2, s2, seed=NULL, burn=10000, nmc=50000)

Arguments

study_sizes

The study sizes for the n studies in our MMA. Needed to estimate missing standard errors.

y1

The first outcome in our MMA. Missing outcomes should be denoted by NA.

s1

Standard errors (SEs) for y1. The missing SEs should be denoted by NA.

y2

The second outcome in our MMA. Missing outcomes should be denoted by NA.

s2

Standard errors (SEs) for y2. The missing SEs should be denoted by NA.

seed

Optional seed. A seed has to be specified in order to reproduce the exact results on a data set.

burn

Number of burn-in iterations for MCMC. The default is 10,000.

nmc

Number of total MCMC iterations. The default is 50,000.

Value

A list of the posterior point estimates ([parameter.hat]) and posterior samples ([parameter].samples) for the model parameters. For example, mu1.hat and mu2.hat give the posterior means of the population treatment effects, and tau1.hat and tau2.hat give the posterior means for the between-study heterogeneity parameters. All the MCMC samples (e.g. mu1.samples and mu2.samples) are also returned, so the user can obtain posterior credible intervals and other summary statistics or plot the posterior densities.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Real data from an MMA on the effects of exercise therapy on lower back pain
y1 <- c(-25.30, -1.70, 0.00, -4.90, -1.80, -1.25, -1.72, -3.90, -4.50,
        -3.00, -0.70, -1.09, -10.87, NA, NA, NA)
s1 <- c(6.5464359, 3.3338820, 0.5545626, 2.9509468, 1.1016252, 3.7911903,
        4.4478104, 1.6160652, 3.3036029, 2.4320922, 2.2312296, 1.0242034,
        6.3042946, NA, NA, NA)
y2 <- c(-29.00, -5.00, -6.10, -10.00, NA, -1.00, -8.10, -11.100, -12.00,
        -4.00, -1.80, -3.75, 5.00, 0.00, 5.00, -12.00)
s2 <- c(6.103570, 3.705613, 3.649380, 3.776989, NA, 3.687818, 7.573094,
        3.307464, 3.646706, 7.918978, 4.551576, 4.396285, 5.817653, 1.189535,
        4.136892, 3.974209)
study_sizes <- c(75, 122, 125, 71, 286, 50, 54, 196, 50, 47, 138,
                 49, 110, 115, 69, 57)

# Fit ABSORB model
absorb.mod <- ABSORB(study_sizes, y1, s1, y2, s2, seed=12345,
                     burn=10000, nmc=50000)

# Point estimates for (mu1, mu2, tau1, tau2) in ABSORB (bias-corrected) model
absorb.mod$mu1.hat
absorb.mod$mu2.hat
absorb.mod$tau1.hat
absorb.mod$tau2.hat

# 95 percent credible intervals for mu1 and mu2
mu1.ABSORB.CI <- quantile(absorb.mod$mu1.samples, probs=c(0.025,0.975))
mu2.ABSORB.CI <- quantile(absorb.mod$mu2.samples, probs=c(0.025,0.975))

mu1.ABSORB.CI
mu2.ABSORB.CI

raybai07/ABSORB documentation built on Dec. 22, 2021, 1 p.m.