Type: Package
Title: Dose-Response Meta-Regression for Meta-Analysis
Version: 1.0.1
Date: 2026-01-08
Author: Ahmed Abdelmageed ORCID iD [cre, aut]
Maintainer: Ahmed Abdelmageed <ahmedelsaeedmassad@gmail.com>
URL: https://github.com/asmpro7/MetaDose/
Description: Conducting linear and nonlinear dose-response meta-regression using study-level summary data. It supports both continuous and binary outcomes and allows modeling of dose-effect relationships using linear trends or nonlinear restricted cubic splines. The package is designed to facilitate transparent, flexible, and reproducible dose-response meta-analyses, with built-in visualization of fitted dose-response curves.
License: GPL (≥ 3)
Encoding: UTF-8
Imports: ggplot2, metafor, rms, rlang
RoxygenNote: 7.3.3
NeedsCompilation: no
Packaged: 2026-01-08 22:44:48 UTC; ASM PRO
Repository: CRAN
Date/Publication: 2026-01-12 20:00:02 UTC

MetaDose: Dose-Response Meta-Regression for Meta-Analysis

Description

The 'MetaDose' package provides tools for conducting linear and nonlinear dose-response meta-regression using study-level summary data. It supports both continuous and binary outcomes and allows modeling of dose-effect relationships using linear trends or nonlinear restricted cubic splines.

The package is designed to facilitate transparent, flexible, and reproducible dose-response meta-analyses, with built-in visualization of fitted dose-response curves.

Author(s)

Ahmed Abdelmageed ahmedelsaeedmassad@gmail.com

See Also

Useful functions:


Print and Plot Methods for Dose-Response Meta-Regression Objects

Description

S3 methods for objects of class 'dose' returned by 'mdcont()' and 'mdbin()' functions.

Usage

## S3 method for class 'dose'
print(x, model = c("both", "linear", "nonlinear"), ...)

## S3 method for class 'dose'
plot(x, model = c("both", "linear", "nonlinear"), ...)

Arguments

x

An object of class "dose" returned by mdcont or mdbin.

model

Character string specifying which model results to display. Options are "both", "linear", or "nonlinear".

...

Additional arguments (currently unused).

Value

Both methods are called for their side effects.

The original object x is returned invisibly.

Author(s)

Ahmed Abdelmageed ahmedelsaeedmassad@gmail.com

See Also

mdcont, mdbin


Linear and Nonlinear Dose-Response Meta-Regression for Binary Outcomes

Description

Performs linear and/or nonlinear dose-response meta-regression for binary outcomes using study-level event data. The function supports relative risk ('RR') and odds ratio ('OR') effect measures and models the association between dose levels and treatment effects.

Usage

mdbin(
  measure = c("RR", "OR"),
  event.e,
  n.e,
  event.c,
  n.c,
  dose,
  data,
  linear = TRUE,
  nonlinear = TRUE,
  x_axis = "Dose",
  y_axis = "Measured Effect",
  knots = c(0.1, 0.5, 0.9)
)

Arguments

measure

Character string specifying the effect size measure. Options are "RR" for relative risk or "OR" for odds ratio.

event.e

Numeric vector of numbers of events in the experimental group.

n.e

Numeric vector of sample sizes in the experimental group.

event.c

Numeric vector of numbers of events in the control group.

n.c

Numeric vector of sample sizes in the control group.

dose

Numeric vector of dose levels corresponding to each study.

data

A data frame containing the meta-analysis data.

linear

Logical; if TRUE, a linear dose-response model is fitted.

nonlinear

Logical; if TRUE, a nonlinear dose-response model using restricted cubic splines is fitted.

x_axis

Character string specifying the x-axis label for plots.

y_axis

Character string specifying the y-axis label for plots.

knots

Numeric vector of quantiles used to place knots for the nonlinear restricted cubic spline model.

Details

The function computes logarithmic effect sizes and corresponding sampling variances from binary outcome data. Linear and/or nonlinear dose-response meta-regression models are then fitted, with nonlinear relationships modeled using restricted cubic splines. Dose-response plots are generated to visualize the fitted associations.

Value

An S3 object of class 'dose', which is a list containing:

linear_model

The fitted linear dose-response meta-regression model.

linear_plot

A plot of the linear dose-response relationship.

nonlinear_model

The fitted nonlinear dose-response meta-regression model.

nonlinear_plot

A plot of the nonlinear dose-response relationship.

Author(s)

Ahmed Abdelmageed ahmedelsaeedmassad@gmail.com

See Also

mdcont for dose-response meta-regression with continuous outcomes.


Linear and Nonlinear Dose-Response Meta-Regression for Continuous Outcomes

Description

Performs linear and/or nonlinear dose-response meta-regression for continuous outcomes using study-level summary data. The function supports mean difference ('MD') and standardized mean difference ('SMD') effect measures and fits models across different dose levels using meta-regression techniques.

Usage

mdcont(
  measure = c("MD", "SMD"),
  mean.e,
  sd.e,
  n.e,
  mean.c,
  sd.c,
  n.c,
  dose,
  data,
  linear = TRUE,
  nonlinear = TRUE,
  x_axis = "Dose",
  y_axis = "Measured Effect",
  knots = c(0.1, 0.5, 0.9)
)

Arguments

measure

Character string specifying the effect size measure. Options are "MD" for mean difference or "SMD" for standardized mean difference.

mean.e

Numeric vector of means in the experimental group.

sd.e

Numeric vector of standard deviations in the experimental group.

n.e

Numeric vector of sample sizes in the experimental group.

mean.c

Numeric vector of means in the control group.

sd.c

Numeric vector of standard deviations in the control group.

n.c

Numeric vector of sample sizes in the control group.

dose

Numeric vector of dose levels corresponding to each study.

data

A data frame containing the meta-analysis data.

linear

Logical; if TRUE, a linear dose-response model is fitted.

nonlinear

Logical; if TRUE, a nonlinear dose-response model using restricted cubic splines is fitted.

x_axis

Character string specifying the x-axis label for plots.

y_axis

Character string specifying the y-axis label for plots.

knots

Numeric vector of quantiles used to place knots for the nonlinear restricted cubic spline model.

Details

The function first computes effect sizes and their variances from continuous outcome data. It then fits a linear dose-response meta-regression model and/or a nonlinear model using restricted cubic splines, depending on user selection. Corresponding dose-response plots are generated for visualization.

Value

An S3 object of class 'dose', which is a list containing:

linear_model

The fitted linear dose-response meta-regression model.

linear_plot

A plot of the linear dose-response relationship.

nonlinear_model

The fitted nonlinear dose-response meta-regression model.

nonlinear_plot

A plot of the nonlinear dose-response relationship.

Author(s)

Ahmed Abdelmageed ahmedelsaeedmassad@gmail.com

See Also

mdbin for dose-response meta-regression with binary outcomes.

Examples

# Create a small example dataset
study_data <- data.frame(
  mean.e = c(5.2, 6.1, 7.0, 6.5),
  sd.e   = c(1.1, 1.3, 1.2, 1.0),
  n.e    = c(40, 35, 50, 45),
  mean.c = c(4.8, 5.5, 6.2, 5.9),
  sd.c   = c(1.0, 1.2, 1.1, 1.1),
  n.c    = c(38, 33, 48, 42),
  dose   = c(10, 20, 30, 40)
)

# Fit a dose-response meta-regression model
res <- mdcont(
  measure = "MD",
  mean.e  = mean.e,
  sd.e    = sd.e,
  n.e     = n.e,
  mean.c  = mean.c,
  sd.c    = sd.c,
  n.c     = n.c,
  dose    = dose,
  data    = study_data,
  linear  = TRUE,
  nonlinear = TRUE
)

# Print results
print(res)

# Access components
# res$linear_model
# res$nonlinear_model