Learn R Programming

bayesmeta (version 3.4)

uisd: Unit information standard deviation

Description

This function estimates the unit information standard deviation (UISD) from a given set of standard errors and associated sample sizes.

Usage

uisd(n, ...)
  # S3 method for default
uisd(n, sigma, sigma2=sigma^2, labels=NULL, individual=FALSE, ...)
  # S3 method for escalc
uisd(n, ...)

Value

Either a (single) estimate of the UISD, or, if individual was set to ‘TRUE’, a (potentially named) vector of UISDs for each individual study.

Arguments

n

vector of sample sizes or an escalc object.

sigma

vector of standard errors associated with n.

sigma2

vector of squared standard errors (variances) associated with n.

labels

(optional) a vector of labels corresponding to n and sigma.

individual

a logical flag indicating whether individual (study-specific) UISDs are to be returned.

...

other uisd arguments.

Details

The unit information standard deviation (UISD) reflects the “within-study” variability, which, depending on the effect measure considered, sometimes is a somewhat heuristic notion (Roever et al., 2020). For a single study, presuming that standard errors result as $$\sigma_i=\frac{\sigma_\mathrm{u}}{\sqrt{n_i}},$$ where \(\sigma_\mathrm{u}\) is the within-study (population) standard deviation, the UISD simply results as $$\sigma_\mathrm{u} = \sqrt{n_i \, \sigma_i^2}.$$ This is often appropriate when assuming an (approximately) normal likelihood.

Assuming a constant \(\sigma_\mathrm{u}\) value across studies, this figure then may be estimated by $$s_\mathrm{u} \;=\; \sqrt{\bar{n} \, \bar{s}^2_\mathrm{h}} \;=\; \sqrt{\frac{\sum_{i=1}^k n_i}{\sum_{i=1}^k \sigma_i^{-2}}},$$ where \(\bar{n}\) is the average (arithmetic mean) of the studies' sample sizes, and \(\bar{s}^2_\mathrm{h}\) is the harmonic mean of the squared standard errors (variances).

The estimator \(s_\mathrm{u}\) is motivated via meta-analysis using the normal-normal hierarchical model (NNHM). In the special case of homogeneity (zero heterogeneity, \(\tau=0\)), the overall mean estimate has standard error $$\left(\sum_{i=1}^k\sigma_i^{-2}\right)^{-1/2}.$$ Since this estimate corresponds to complete pooling, the standard error may also be expressed via the UISD as $$\frac{\sigma_\mathrm{u}}{\sqrt{\sum_{i=1}^k n_i}}.$$ Equating both above standard error expressions yields \(s_\mathrm{u}\) as an estimator of the UISD \(\sigma_\mathrm{u}\) (Roever et al, 2020).

References

C. Roever, R. Bender, S. Dias, C.H. Schmid, H. Schmidli, S. Sturtz, S. Weber, T. Friede. On weakly informative prior distributions for the heterogeneity parameter in Bayesian random-effects meta-analysis. Research Synthesis Methods, 12(4):448-474, 2021. tools:::Rd_expr_doi("10.1002/jrsm.1475").

See Also

escalc.

Examples

Run this code
# load data set:
data("CrinsEtAl2014")

# compute logarithmic odds ratios (log-ORs):
CrinsAR  <- escalc(measure="OR",
                   ai=exp.AR.events,  n1i=exp.total,
                   ci=cont.AR.events, n2i=cont.total,
                   slab=publication, data=CrinsEtAl2014)

# estimate the UISD:
uisd(n     = CrinsAR$exp.total + CrinsAR$cont.total,
     sigma = sqrt(CrinsAR$vi),
     label = CrinsAR$publication)

# for an "escalc" object, one may also apply the function directly:
uisd(CrinsAR)

# compute study-specific UISDs:
uisd(CrinsAR, individual=TRUE)

Run the code above in your browser using DataLab