
Calculate Study Weights Based on Risk of Bias
Source:R/meta_bias_adjusted.R
calculate_rob_weights.RdComputes inverse-variance weights adjusted for risk of bias assessments. High risk studies receive reduced weights (default 0), and some concerns receive partial weights (default 0.5). Low risk studies receive full weights.
Usage
calculate_rob_weights(
meta_result,
rob_results,
weight_high = 0,
weight_concerns = 0.5,
weight_moderate = 0.75,
weight_serious = 0.25,
weight_critical = 0
)Arguments
- meta_result
A MetaResult object from meta_analysis().
- rob_results
List of RoB2Result or ROBINSIResult objects.
- weight_high
Numeric. Weight multiplier for high-risk studies. Default: 0 (exclude completely).
- weight_concerns
Numeric. Weight multiplier for "some concerns" (RoB 2) or "Moderate" (ROBINS-I) studies. Default: 0.5.
- weight_moderate
Numeric. Weight multiplier for "Moderate" risk (ROBINS-I). Default: 0.75.
- weight_serious
Numeric. Weight multiplier for "Serious" risk (ROBINS-I). Default: 0.25.
- weight_critical
Numeric. Weight multiplier for "Critical" risk (ROBINS-I). Default: 0.
Value
A list with components:
- weights
Numeric vector of adjusted weights
- study_ids
Character vector of study identifiers
- rob_judgments
Character vector of RoB judgments
- multipliers
Numeric vector of weight multipliers applied
- method
Character string describing the weighting method
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")
)
# Calculate RoB-adjusted weights
rob_weights <- calculate_rob_weights(
meta_res,
rob_results,
weight_high = 0,
weight_concerns = 0.5
)
rob_weights$weights
rob_weights$rob_judgments
} # }