## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse   = TRUE,
  comment    = "#>",
  fig.width  = 7,
  fig.height = 4.5,
  out.width  = "100%",
  dpi        = 96
)
library(SingleArmMRCT)

## ----echo=FALSE---------------------------------------------------------------
tbl <- data.frame(
  Endpoint = c(
    "Continuous",
    "Binary",
    "Count (negative binomial)",
    "Time-to-event (hazard ratio)",
    "Milestone survival",
    "Restricted mean survival time (RMST)"
  ),
  `Calculation function` = c(
    "rcp1armContinuous()",
    "rcp1armBinary()",
    "rcp1armCount()",
    "rcp1armHazardRatio()",
    "rcp1armMilestoneSurvival()",
    "rcp1armRMST()"
  ),
  `Plot function` = c(
    "plot_rcp1armContinuous()",
    "plot_rcp1armBinary()",
    "plot_rcp1armCount()",
    "plot_rcp1armHazardRatio()",
    "plot_rcp1armMilestoneSurvival()",
    "plot_rcp1armRMST()"
  ),
  check.names = FALSE
)
knitr::kable(tbl, align = "lll")

## ----echo=FALSE---------------------------------------------------------------
params <- data.frame(
  Parameter   = c("`Nj`", "`PI`", "`approach`", "`nsim`", "`seed`"),
  Type        = c("integer vector", "numeric", "character",
                  "integer", "integer"),
  Default     = c("—", "`0.5`", '`"formula"`', "`10000`", "`1`"),
  Description = c(
    "Sample sizes for each region; length equals the number of regions $J$",
    "Effect retention threshold $\\pi$ for Method 1; must be in $[0, 1]$",
    'Calculation approach: `"formula"` or `"simulation"`',
    "Number of Monte Carlo iterations; used only when `approach = \"simulation\"`",
    "Random seed for reproducibility; used only when `approach = \"simulation\"`"
  ),
  check.names = FALSE
)
knitr::kable(params, align = "llll")

## ----echo=FALSE---------------------------------------------------------------
params_tte <- data.frame(
  Parameter   = c("`t_a`", "`t_f`", "`lambda_dropout`"),
  Type        = c("numeric", "numeric", "numeric or `NULL`"),
  Default     = c("—", "—", "`NULL`"),
  Description = c(
    "Accrual period: duration over which patients are uniformly enrolled",
    "Follow-up period: additional observation time after accrual closes; total study duration is $\\tau = t_a + t_f$",
    "Exponential dropout hazard rate; `NULL` assumes no dropout"
  ),
  check.names = FALSE
)
knitr::kable(params_tte, align = "llll")

## -----------------------------------------------------------------------------
result_formula <- rcp1armContinuous(
  mu       = 0.5,
  mu0      = 0.1,
  sd       = 1,
  Nj       = c(10, 90),
  PI       = 0.5,
  approach = "formula"
)
print(result_formula)

## -----------------------------------------------------------------------------
result_sim <- rcp1armContinuous(
  mu       = 0.5,
  mu0      = 0.1,
  sd       = 1,
  Nj       = c(10, 90),
  PI       = 0.5,
  approach = "simulation",
  nsim     = 10000,
  seed     = 1
)
print(result_sim)

## ----fig.alt="Line plot of RCP versus regional allocation proportion f1 for a continuous endpoint, comparing Method 1 and Method 2 using formula and simulation approaches across sample sizes N = 20, 40, and 100"----
plot_rcp1armContinuous(
  mu        = 0.5,
  mu0       = 0.1,
  sd        = 1,
  PI        = 0.5,
  N_vec     = c(20, 40, 100),
  J         = 3,
  nsim      = 5000,
  seed      = 1,
  base_size = 11
)

