Skip to contents

Performs meta-analysis with adjustment for risk of bias using one of three methods: weight downgrade, exclusion of high-risk studies, or selection model approach.

Usage

bias_adjusted_meta(
  meta_result,
  rob_results,
  method = c("weight_downgrade", "exclude_high", "selection_model"),
  weight_high = 0,
  weight_concerns = 0.5,
  weight_moderate = 0.75,
  weight_serious = 0.25,
  exclude_high = TRUE,
  selection_alpha = 0.05,
  conf_level = 0.95,
  ...
)

Arguments

meta_result

A MetaResult object from meta_analysis().

rob_results

List of RoB2Result or ROBINSIResult objects.

method

Character. Adjustment method: "weight_downgrade", "exclude_high", or "selection_model". Default: "weight_downgrade".

weight_high

Numeric. Weight for high-risk studies (weight_downgrade). Default: 0.

weight_concerns

Numeric. Weight for "some concerns" (RoB 2) or "Moderate" (ROBINS-I) studies. Default: 0.5.

weight_moderate

Numeric. Weight for "Moderate" risk (ROBINS-I). Default: 0.75.

weight_serious

Numeric. Weight for "Serious" risk (ROBINS-I). Default: 0.25.

exclude_high

Logical. If TRUE, exclude high-risk studies (used by "exclude_high" method). Default: TRUE.

selection_alpha

Numeric. Significance level alpha for selection model (between 0 and 1). Default: 0.05.

conf_level

Numeric. Confidence level. Default: 0.95.

...

Additional arguments passed to internal methods.

Value

A BiasAdjustedMetaResult object (extends MetaResult) with:

estimate

Adjusted pooled effect estimate

ci

Confidence interval

p_value

P-value

n

Number of studies included

method

Method description

heterogeneity

Heterogeneity statistics

adjustment_details

List with adjustment metadata

Examples

if (FALSE) { # \dontrun{
# Create meta-analysis result
meta_res <- meta_analysis(
  yi = log(c(0.75, 0.82, 0.68, 0.91, 0.77)),
  sei = c(0.12, 0.15, 0.18, 0.14, 0.11),
  study_labels = paste("Study", 1:5),
  effect_measure = "hr"
)

# Create RoB 2 assessments
rob_results <- list(
  assess_rob2("Study 1", "Low", "Low", "Low", "Some concerns", "Low"),
  assess_rob2("Study 2", "Low", "Low", "Low", "Low", "Low"),
  assess_rob2("Study 3", "High", "Low", "Low", "Low", "Low"),
  assess_rob2("Study 4", "Low", "Low", "Low", "Low", "Low"),
  assess_rob2("Study 5", "Low", "Low", "Low", "Some concerns", "Low")
)

# Weight downgrade method
adjusted <- bias_adjusted_meta(
  meta_res,
  rob_results,
  method = "weight_downgrade",
  weight_high = 0,
  weight_concerns = 0.5
)
adjusted@estimate
adjusted@ci

# Exclude high risk method
adjusted2 <- bias_adjusted_meta(
  meta_res,
  rob_results,
  method = "exclude_high"
)
adjusted2@estimate
adjusted2@ci
} # }