MyNixOS website logo
Description

Regional Consistency Probability for Single-Arm Multi-Regional Clinical Trials.

Provides functions to calculate and visualise the Regional Consistency Probability (RCP) for single-arm multi-regional clinical trials (MRCTs) using the Effect Retention Approach (ERA). Six endpoint types are supported: continuous, binary, count (negative binomial), time-to-event via hazard ratio, milestone survival, and restricted mean survival time (RMST). For each endpoint, both a closed-form (or semi-analytical) solution and a Monte Carlo simulation approach are implemented. Two consistency evaluation methods are available: Method 1 (effect retention in Region 1 relative to the overall population) and Method 2 (simultaneous positive effect across all regions). Plotting functions generate faceted visualisations of RCP as a function of the regional allocation proportion, overlaying formula and simulation results for direct comparison. The methodology follows the Japanese MHLW guidelines for MRCTs. Abbreviations used: RCP (Regional Consistency Probability), MRCT (Multi-Regional Clinical Trial), RMST (Restricted Mean Survival Time), MHLW (Ministry of Health, Labour and Welfare).

SingleArmMRCT

R Version License pkgdown

Overview

SingleArmMRCT provides functions to calculate and visualise the Regional Consistency Probability (RCP) for single-arm multi-regional clinical trials (MRCTs) using the Effect Retention Approach (ERA).

The package addresses a critical methodological gap: current Japanese MHLW Method 1 and Method 2 consistency criteria were originally developed for two-arm trials, yet single-arm trials increasingly form the basis of regulatory submissions, particularly in oncology. This package extends classical approaches to the single-arm setting across six endpoint types.

Supported endpoints

Endpoint typeCalculation functionPlot function
Continuousrcp1armContinuous()plot_rcp1armContinuous()
Binaryrcp1armBinary()plot_rcp1armBinary()
Count (negative binomial)rcp1armCount()plot_rcp1armCount()
Time-to-event (hazard ratio)rcp1armHazardRatio()plot_rcp1armHazardRatio()
Milestone survivalrcp1armMilestoneSurvival()plot_rcp1armMilestoneSurvival()
Restricted mean survival time (RMST)rcp1armRMST()plot_rcp1armRMST()

Consistency evaluation methods

  • Method 1 (Effect Retention): Evaluates whether Region 1 retains at least a fraction pi of the overall treatment effect.
  • Method 2 (Simultaneous Positivity): Evaluates whether all regional estimates exceed the null value simultaneously.

Calculation approaches

Each function supports two approaches:

  • "formula": Closed-form or semi-analytical solution based on normal approximation.
  • "simulation": Monte Carlo simulation.

Installation

This package is not yet on CRAN. Install from source:

# Install devtools if not already installed
install.packages("devtools")

# Install SingleArmMRCT from local source
devtools::install_local("path/to/SingleArmMRCT")

Dependencies


Quick start

Continuous endpoint

library(SingleArmMRCT)

# Closed-form solution: N = 100, Region 1 has 10 subjects (f1 = 0.1)
result <- rcp1armContinuous(
  mu  = 0.5,
  mu0 = 0.1,
  sd  = 1,
  Nj  = c(10, 90),
  PI  = 0.5,
  approach = "formula"
)
print(result)

Binary endpoint

result <- rcp1armBinary(
  p  = 0.5,
  p0 = 0.2,
  Nj = c(10, 90),
  PI = 0.5,
  approach = "formula"
)
print(result)

Time-to-event endpoint (hazard ratio)

result <- rcp1armHazardRatio(
  lambda         = log(2) / 10,
  lambda0        = log(2) / 5,
  Nj             = c(10, 90),
  t_a            = 3,
  t_f            = 10,
  lambda_dropout = NULL,
  PI             = 0.5,
  approach       = "formula"
)
print(result)

RMST endpoint

lam0    <- log(2) / 5
tstar   <- 8
mu0_val <- (1 - exp(-lam0 * tstar)) / lam0

result <- rcp1armRMST(
  lambda   = log(2) / 10,
  tau_star = tstar,
  mu0      = mu0_val,
  Nj       = c(10, 90),
  t_a      = 3,
  t_f      = 10,
  PI       = 0.5,
  approach = "formula"
)
print(result)

Visualisation

Each endpoint has a corresponding plot function that generates a faceted plot of RCP as a function of the regional allocation proportion f₁, overlaying formula and simulation results for both Method 1 and Method 2.

# Continuous endpoint: RCP vs f1 for N = 20, 40, 100 with J = 3 regions
p <- plot_rcp1armContinuous(
  mu    = 0.5,
  mu0   = 0.1,
  sd    = 1,
  PI    = 0.5,
  N_vec = c(20, 40, 100),
  J     = 3
)
print(p)
# Milestone survival endpoint
p <- plot_rcp1armMilestoneSurvival(
  lambda = log(2) / 10,
  t_eval = 8,
  S0     = exp(-log(2) * 8 / 5),
  t_a    = 3,
  t_f    = 10,
  PI     = 0.5,
  N_vec  = c(20, 40, 100),
  J      = 3
)
print(p)

Parameter conventions

SymbolMeaningNotes
NjInteger vector of regional sample sizese.g., c(10, 90) for J = 2 regions
PIEffect retention threshold piTypically ≥ 0.5; default 0.5
f1Regional allocation proportion of Region 1f₁ = Nj[1] / sum(Nj)
t_aAccrual periodTime-to-event endpoints only
t_fFollow-up periodTime-to-event endpoints only
lambda_dropoutDropout hazard rateNULL = no dropout

References

Hayashi N, Itoh Y (2017). A re-examination of Japanese sample size calculation for multi-regional clinical trial evaluating survival endpoint. Japanese Journal of Biometrics, 38(2): 79--92. https://doi.org/10.5691/jjb.38.79

Homma G (2024). Cautionary note on regional consistency evaluation in multiregional clinical trials with binary outcomes. Pharmaceutical Statistics, 23(3):385--398. https://doi.org/10.1002/pst.2358

Wu J (2015). Sample size calculation for the one-sample log-rank test. Pharmaceutical Statistics, 14(1): 26--33. https://doi.org/10.1002/pst.1654


License

MIT © 2025 Gosuke Homma.

Metadata

Version

0.1.1

License

Unknown

Platforms (80)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows