Skip to content

Commit

Permalink
update README
Browse files Browse the repository at this point in the history
  • Loading branch information
NightlordTW committed Jan 11, 2025
1 parent 543460d commit f1b8005
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 23 deletions.
1 change: 1 addition & 0 deletions R/helper.r
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ print.simss <- function(x, ...) {
alphau <- x$param.d$alpha*x$param$weight_seq
}

# Generate the description of the multiplicity correction in case of multiple primary endpoints
if (nendp > 1 & x$param.d$k[i] < nendp) {
cat(" - Multiplicity Correction:", multiplicity_correction, "\n")
cat(" - Adjusted Significance Levels: α =", paste(format(alphau, digits = 3, nsmall = 3), collapse = "; "), "\n\n")
Expand Down
7 changes: 7 additions & 0 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,11 @@ devtools::install_github("smartdata-analysis-and-statistics/SimTOST")
The main features of this package is `sampleSize` function which can be used to calculate sample size for individual and multiple endpoints. Various worked examples are available as [vignettes](https://smartdata-analysis-and-statistics.github.io/SimTOST)


| **Vignette** | **Design** | **Number of Arms** | **Number of Endpoints** |
|------------------------------------------------|--------------|---------------------|--------------------------|
| [Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 1 Endpoint](../articles/sampleSize_parallel_3A1E.html) | Parallel | 3 | 1 |
| [Bioequivalence Tests for Parallel Trial Designs: 2 Arms, 3 Endpoints](../articles/sampleSize_parallel_2A3E.html) | Parallel | 2 | 3 |
| [Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 3 Endpoints](../articles/sampleSize_parallel_3A3E.html) | Parallel | 3 | 3 |



20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<!-- badges: start -->

[![R-CMD-check](https://github.com/smartdata-analysis-and-statistics/SimTOST/actions/workflows/R-CMD-check.yml/badge.svg)](https://github.com/smartdata-analysis-and-statistics/SimTOST/actions/workflows/R-CMD-check.yml)
[![R-CMD-check](https://github.com/smartdata-analysis-and-statistics/SimTOST/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/smartdata-analysis-and-statistics/SimTOST/actions/workflows/R-CMD-check.yaml)
[![CRAN
status](https://www.r-pkg.org/badges/version/SimTOST)](https://CRAN.R-project.org/package=SimTOST)
[![Codecov test
Expand All @@ -32,13 +32,15 @@ You can also install the development version of SimTOST from
devtools::install_github("smartdata-analysis-and-statistics/SimTOST")
```

## Example
## Vignettes

The main features of this package is `sampleSize` function which can be used
to calculate sample size for individual and multiple endpoints.
The main features of this package is `sampleSize` function which can be
used to calculate sample size for individual and multiple endpoints.
Various worked examples are available as
[vignettes](https://smartdata-analysis-and-statistics.github.io/SimTOST)

The example of using the functionality of this package can be found in
these vignettes:

1. [Sample size calculation of individual endpoint]()
2. [Sample size calculation of multiple endpoints]()
| **Vignette** | **Design** | **Number of Arms** | **Number of Endpoints** |
|----|----|----|----|
| [Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 1 Endpoint](../articles/sampleSize_parallel_3A1E.html) | Parallel | 3 | 1 |
| [Bioequivalence Tests for Parallel Trial Designs: 2 Arms, 3 Endpoints](../articles/sampleSize_parallel_2A3E.html) | Parallel | 2 | 3 |
| [Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 3 Endpoints](../articles/sampleSize_parallel_3A3E.html) | Parallel | 3 | 3 |
17 changes: 3 additions & 14 deletions vignettes/sampleSize_parallel_2A3E.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,9 @@ doc.cache <- T #for cran; change to F

# Introduction

In many studies, it is necessary to evaluate equivalence across multiple primary variables. For instance, the European Medicines Agency (EMA) recommends demonstrating equivalence for both **Area Under the Curve** (AUC) and **maximum concentration** (Cmax) when assessing pharmacokinetic properties.
In many studies, it is necessary to evaluate equivalence across multiple primary variables. For instance, the European Medicines Agency (EMA) recommends demonstrating equivalence for both **Area Under the Curve** (AUC) and **maximum concentration** (Cmax) when assessing pharmacokinetic properties. This vignette presents advanced techniques for calculating sample size in parallel trial designs involving three treatment arms and two endpoints.

When multiple primary endpoints are involved, a decision must be made on the desired criteria for equivalence:

* Equivalence for All Primary Endpoints
* This is the most common setting and is often referred to as having *multiple co-primary endpoints*.
* Equivalence must be demonstrated for **all** endpoints to conclude overall equivalence.
* Equivalence for At Least One Primary Endpoint
* Known as having *multiple primary endpoints*.
* Equivalence is required for **at least one** endpoint to meet the study's objectives.

This vignette presents advanced techniques for calculating sample size in parallel trial designs involving three treatment arms and two endpoints. Specifically, it focuses on bioequivalence testing between a new treatment (SB2) and a reference drug (Remicade) administered in two distinct locations (EU_Remicade and USA_Remicade).

As an illustrative example, we consider published data from the phase-1 trial [NCT01922336](https://clinicaltrials.gov/study/NCT01922336#study-overview). This trial assessed the pharmacokinetics of SB2 compared to its EU-sourced reference product. The following outcomes were reported following a single dose of SB2 or its EU reference product [@shin_randomized_2015]:
As an illustrative example, we consider published data from the phase-1 trial [NCT01922336](https://clinicaltrials.gov/study/NCT01922336#study-overview). This trial assessed the pharmacokinetics of SB2 compared to its EU-sourced reference product (EU_Remicade). The following outcomes were reported following a single dose of SB2 or its EU reference product [@shin_randomized_2015]:

```{r, echo=FALSE}
data <- data.frame("PK measure" = c("AUCinf ($\\mu$g*h/mL)","AUClast ($\\mu$g*h/mL)","Cmax ($\\mu$g/mL)"),
Expand All @@ -50,7 +39,7 @@ kableExtra::kable_styling(kableExtra::kable(data,
bootstrap_options = "striped")
```

In the sections below, we explore various strategies for determining the sample size required for a parallel trial to demonstrate equivalence across the three co-primary endpoints. These strategies are based on the Ratio of Means (ROM) approach, with equivalence bounds set between 80\% and 125\%.
In the sections below, we examine various strategies for determining the sample size required for a parallel trial to establish equivalence across three co-primary endpoints. These strategies are based on the Ratio of Means (ROM) approach, using equivalence bounds set between 80% and 125%. Additionally, we demonstrate how the test can be adjusted to establish equivalence for at least $k=1$ primary endpoint, providing flexibility in meeting equivalence criteria.

# Independent Testing of Co-Primary Endpoints
A conservative approach to sample size calculation involves testing each pharmacokinetic (PK) measure independently. This method assumes that the endpoints are uncorrelated and that equivalence must be demonstrated for each endpoint separately. Consequently, the overall sample size required for the trial is the sum of the sample sizes for each PK measure.
Expand Down
29 changes: 29 additions & 0 deletions vignettes/sampleSize_parallel_3A3E.Rmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: "Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 3 Endpoints"
author: "Thomas Debray"
date: "`r format(Sys.time(), '%B %d, %Y')`"
output:
html_document:
fig_caption: yes
fig_width: 9
fig_height: 6
vignette: >
%\VignetteIndexEntry{Bioequivalence Tests for Parallel Trial Designs: 3 Arms, 3 Endpoints}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
bibliography: 'references.bib'
link-citations: yes
---

```{r setup, include=FALSE, message = FALSE, warning = FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_chunk$set(comment = "#>", collapse = TRUE)
options(rmarkdown.html_vignette.check_title = FALSE) #title of doc does not match vignette title
doc.cache <- T #for cran; change to F
```

# Introduction



# References

0 comments on commit f1b8005

Please sign in to comment.