PowerTOST

Power and Sample Size for (Bio)Equivalence Studies

https://github.com/detlew/powertost

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary
Last synced: 11 months ago · JSON representation

Repository

Power and Sample Size for (Bio)Equivalence Studies

Basic Info
  • Host: GitHub
  • Owner: Detlew
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 4.99 MB
Statistics
  • Stars: 20
  • Watchers: 4
  • Forks: 4
  • Open Issues: 1
  • Releases: 14
Created about 10 years ago · Last pushed over 2 years ago
Metadata Files
Readme

README.Rmd

---
title: "PowerTOST"
output:
  github_document:
    toc: true
    toc_depth: 3
---

[![License: GPL v2](https://img.shields.io/badge/License-GPLv2-blue.svg)](https://www.gnu.org/licenses/gpl-2.0) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
![repo](https://img.shields.io/badge/repo%20since-Jun%202016-brightgreen) ![active](https://www.repostatus.org/badges/latest/active.svg) ![repo size](https://img.shields.io/github/repo-size/Detlew/PowerTOST?color=yellow) ![code size](https://img.shields.io/github/languages/code-size/Detlew/PowerTOST?color=green) ![first](https://img.shields.io/badge/CRAN%20since-May%202010-brightgreen) ![on CRAN](https://www.r-pkg.org/badges/version-ago/PowerTOST) [![cran checks](https://badges.cranchecks.info/worst/PowerTOST.svg)](https://cran.r-project.org/web/checks/check_results_PowerTOST.html) ![commits](https://img.shields.io/github/commits-since/Detlew/PowerTOST/latest) ![last commit](https://img.shields.io/github/last-commit/Detlew/PowerTOST) [![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/grand-total/PowerTOST?color=blue)](https://r-pkg.org/pkg/PowerTOST) [![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/last-month/PowerTOST?color=green)](https://r-pkg.org/pkg/PowerTOST)
```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#"
)
```
```{r, echo = FALSE, results = "asis"}
txt <- paste0("Version ", packageVersion("PowerTOST"), " built ",
         packageDate("PowerTOST", date.fields = "Built"),
         " with R ", substr(packageDescription("PowerTOST", fields = "Built"), 3, 7))
# date.fields = "Date/Publication") is available if package is already on CRAN!
# But we want submit it to CRAN as stable. Thus the next doesn't do the job.
# if (grepl("900", as.character(packageVersion("PowerTOST"))) |
#     is.na(packageDate("PowerTOST", date.fields = "Date/Publication"))) {
#   txt <- paste(txt, "\n(development version not on CRAN).")
# } else {
#   txt <- paste0(txt, "\n(stable release on CRAN ",
#            packageDate("PowerTOST", date.fields = "Date/Publication"), ").")
# }
cat(txt)
```

## Introduction{#introduction}
The package contains functions to calculate power and estimate sample size for various study designs used in (not only bio-) equivalence studies.

## Supported Designs{#designs}
```{r, echo = FALSE}
library(PowerTOST)
designs <- known.designs()
print(designs[, c(2, 9, 3)], row.names = FALSE)
```

Codes of designs follow this pattern: `treatments x sequences x periods`.

Although some replicate designs are more ‘popular’ than others, sample size estimations are valid for *all* of the following designs:

|design|type|sequences||periods|
|:----:|:----:|:-:|---------|:-:|
|`2x2x4`|full|2|TRTR\|RTRT|4|
|`2x2x4`|full|2|TRRT\|RTTR|4|
|`2x2x4`|full|2|TTRR\|RRTT|4|
|`2x4x4`|full|4|TRTR\|RTRT\|TRRT\|RTTR|4|
|`2x4x4`|full|4|TRRT\|RTTR\|TTRR\|RRTT|4|
|`2x2x3`|full|2|TRT\|RTR|3|
|`2x2x3`|full|2|TRR\|RTT|3|
|`2x4x2`|full|4|TR\|RT\|TT\|RR|2|
|`2x3x3`|partial|3|TRR\|RTR\|RRT|3|
|`2x2x3`|partial|2|TRR\|RTR|3|

Balaam’s design TR|RT|TT|RR should be avoided due to its poor power characteristics. The three period partial replicate design with two sequences TRR|RTR (a.k.a. extra-reference design) should be avoided because it is biased in the presence of period effects.

[TOC ↩](#powertost)

## Purpose{#purpose}

For various methods power can be *calculated* based on

  - nominal *α*, coefficient of variation (*CV*), deviation of test from reference (*θ*~0~), acceptance limits {*θ*~1~, *θ*~2~}, sample size (*n*), and design.

For all methods the sample size can be *estimated* based on

  - nominal *α*, coefficient of variation (*CV*), deviation of test from reference (*θ*~0~), acceptance limits {*θ*~1~, *θ*~2~}, target (*i.e.*, desired) power, and design.

[TOC ↩](#powertost)

## Supported{#supported}
### Power and Sample Size{#power_sample_size}
Power covers balanced as well as unbalanced sequences in crossover or replicate designs and equal/unequal group sizes in two-group parallel designs. Sample sizes are always rounded up to achieve balanced sequences or equal group sizes.

  - Average Bioequivalence (with arbitrary *fixed* limits).
  - ABE for Highly Variable Narrow Therapeutic Index Drugs by simulations: U.S. FDA, China CDE.
  - Scaled Average Bioequivalence based on simulations.  
    - Average Bioequivalence with Expanding Limits (ABEL) for Highly Variable Drugs / Drug Products: EMA, WHO and many others.
    - Average Bioequivalence with *fixed* widened limits of 75.00--133.33\% if *CV*~wR~ >30\%: Gulf Cooperation Council.  
    - Reference-scaled Average Bioequivalence (RSABE) for HVDP(s): U.S. FDA, China CDE.
    - Iteratively adjust *α* to control the type I error in ABEL and RSABE for HVDP(s).
    - RSABE for NTIDs: U.S. FDA, China CDE.
  - Two simultaneous TOST procedures.
  - Non-inferiority *t*-test.
  - Ratio of two means with normally distributed data on the original scale based on Fieller’s (‘fiducial’) confidence interval.
  - ‘Expected’ power in case of uncertain (estimated) variability and/or uncertain *θ*~0~.
  - Dose-Proportionality using the power model.

[TOC ↩](#powertost)

### Methods{#methods}
  - Exact
    - Owen’s Q.
    - Direct integration of the bivariate non-central *t*-distribution.
  - Approximations
    - Non-central *t*-distribution.
    - ‘Shifted’ central *t*-distribution.

[TOC ↩](#powertost)

### Helpers{#helpers}
  - Calculate *CV* from *MSE* or *SE* (and vice versa).
  - Calculate *CV* from given confidence interval.
  - Calculate *CV*~wR~ from the upper expanded limit of an ABEL study.
  - Confidence interval of *CV*.
  - Pool *CV* from several studies.
  - Confidence interval for given *α*, *CV*, point estimate, sample size, and design.
  - Calculate *CV*~wT~ and *CV*~wR~ from a (pooled) *CV*~w~ assuming a ratio of intra-subject variances.
  - *p*-values of the TOST procedure.
  - Analysis tool for exploration/visualization of the impact of expected values (*CV*, *θ*~0~, reduced sample size due to dropouts) on power of BE decision.
  - Construct design matrices of incomplete block designs.

[TOC ↩](#powertost)

## Defaults {#defaults}
  * *α* 0.05, {*θ*~1~, *θ*~2~} (0.80, 1.25), target power 0.80. Details of the sample size search (and the regulatory settings in reference-scaled average bioequivalence) are shown in the console.
  * Note: In all functions values have to be given as ratios, not in percent.  

### Average Bioequivalence{#ABE.defaults}
#### Conventional (unscaled){#conventional}
Design `"2x2"` (TR|RT), exact method (Owen’s Q).

#### Highly Variable NTIDs (FDA, CDE){#NTID.defaults}
Design `"2x2x4"` (TRTR|RTRT), upper limit of the confidence interval of *σ*~wT~/*σ*~wR~ ≤2.5, approximation by the non-central *t*-distribution, 100,000 simulations.

### Reference-Scaled Average Bioequivalence{#RSABE.defaults}
Point estimate constraints (0.80, 1.25), homoscedasticity (*CV*~wT~ = *CV*~wR~), scaling is based on *CV*~wR~, design `"2x3x3"` (TRR|RTR|RRT), approximation by the non-central *t*-distribution, 100,000 simulations.

  - EMA, WHO, Health Canada, and many other jurisdictions: Average Bioequivalence with Expanding Limits (ABEL).
  - U.S. FDA, China CDE: RSABE.

#### Highly Variable Drugs / Drug Products{#HVDP.defaults}
*θ*~0~ 0.90.[1](#f1)

###### EMA and many others{#ABEL.EMA.defaults}
Regulatory constant `0.760`, upper cap of scaling at *CV*~wR~ 50\%, evaluation by ANOVA.

###### Health Canada{#ABEL.HC.defaults}
Regulatory constant `0.760`, upper cap of scaling at *CV*~wR~ ~57.4\%, evaluation by intra-subject contrasts.

###### Gulf Cooperation Council{#ABEL.GCC.defaults}
Regulatory constant `log(1/0.75)/sqrt(log(0.3^2+1))`, widened limits 75.00--133.33\% if *CV*~wR~ >30\%, no upper cap of scaling, evaluation by ANOVA.

###### FDA, CDE{#RSABE.FDA.defaults}
Regulatory constant `log(1.25)/0.25`, no upper cap of scaling, evaluation by linearized scaled ABE (Howe’s approximation).

#### Narrow Therapeutic Index Drugs (FDA, CDE){#NTID.FDA.defaults}
*θ*~0~ 0.975, regulatory constant `log(1.11111)/0.1`, implicit upper cap of scaling at *CV*~wR~ ~21.4\%, design `"2x2x4"` (TRTR|RTRT), evaluation by linearized scaled ABE (Howe’s approximation), upper limit of the confidence interval of *σ*~wT~/*σ*~wR~ ≤2.5.

### Dose-Proportionality{#DP}
*β*~0~ (slope) `1+log(0.95)/log(rd)` where `rd` is the ratio of the highest and lowest dose, target power 0.80, crossover design, details of the sample size search suppressed.

### Power Analysis{#PA}
Minimum acceptable power 0.70. *θ*~0~; design, conditions, and sample size method depend on defaults of the respective approaches (ABE, ABEL, RSABE, NTID, HVNTID).

[TOC ↩](#powertost)

## Examples{#examples}
Before running the examples attach the library.

```{r attach_library}
library(PowerTOST)
```
If not noted otherwise, the functions’ [defaults](#defaults) are employed.

### Parallel Design{#parallel}
Power for total *CV* 0.35 (35\%), group sizes 52 and 49.
```{r parallel}
power.TOST(CV = 0.35, n = c(52, 49), design = "parallel")
```

### Crossover Design{#crossover}
Sample size for assumed within- (intra-) subject *CV* 0.20 (20\%).
```{r crossover_ABE1}
sampleN.TOST(CV = 0.20)
```
[TOC ↩](#powertost)

Sample size for assumed within- (intra-) subject *CV* 0.40 (40\%), *θ*~0~ 0.90, four period full replicate study (any of TRTR|RTRT, TRRT|RTTR, TTRR|RRTT). Wider acceptance range for *C*~max~ (South Africa).
```{r crossover_ABE2}
sampleN.TOST(CV = 0.40, theta0 = 0.90, theta1 = 0.75, design = "2x2x4")
```

[TOC ↩](#powertost)

Sample size for assumed within- (intra-) subject *CV* 0.125 (12.5\%), *θ*~0~ 0.975. Narrower acceptance range for NTIDs (most jurisdictions).
```{r crossover_ABE3}
sampleN.TOST(CV = 0.125, theta0 = 0.975, theta1 = 0.90)
```

[TOC ↩](#powertost)

Sample size for equivalence of the ratio of two means with normality on the original scale based on Fieller’s (‘fiducial’) confidence interval.[2](#f2) Within- (intra-) subject *CV*~w~ 0.20 (20\%), between- (inter-) subject *CV*~b~ 0.40 (40\%).  
Note the default *α* 0.025 (95\% CI) of this function because it is intended for studies with clinical endpoints.
```{r crossover_fieller}
sampleN.RatioF(CV = 0.20, CVb = 0.40)
```

[TOC ↩](#powertost)

### Replicate Designs{#replicate}
#### ABE{#repl.ABE}
##### Conventional (unscaled){#repl.ABE.conv}
Sample size for assumed within- (intra-) subject *CV* 0.45 (45\%), *θ*~0~ 0.90, three period full replicate study (TRT|RTR *or* TRR|RTT).
```{r replicate_ABE1}
sampleN.TOST(CV = 0.45, theta0 = 0.90, design = "2x2x3")
```
Note that the conventional model assumes homoscedasticity (equal variances of treatments). For heteroscedasticity we can ‘switch off’ all conditions of one of the methods for reference-scaled ABE. We assume a *σ*^2^-ratio of ⅔ (*i.e.*, the test has a lower variability than the reference). Only relevant columns of the data frame shown.
```{r replicate_ABE2}
reg <- reg_const("USER", r_const = NA, CVswitch = Inf,
                 CVcap = Inf, pe_constr = FALSE)
CV  <- CVp2CV(CV = 0.45, ratio = 2/3)
res <- sampleN.scABEL(CV=CV, design = "2x2x3", regulator = reg,
                      details = FALSE, print = FALSE)
print(res[c(3:4, 8:9)], digits = 5, row.names = FALSE)
```
Similar sample size because the pooled *CV*~w~ is still 0.45.

[TOC ↩](#powertost)

##### Highly Variable Narrow Therapeutic Index Drug{#HVNTID}
Sample size assuming heteroscedasticity (*CV*~w~ 0.45, variance-ratio 2.5, *i.e.*, the test treatment has a substantially higher variability than the reference). TRTR|RTRT according to the FDA’s guidances.[3,](#f3)[4,](#f4)[5](#f5) Assess additionally which one of the components (ABE, *s*~wT~/*s*~wR~-ratio) drives the sample size.
```{r HVNTID}
CV <- signif(CVp2CV(CV = 0.45, ratio = 2.5), 4)
n  <- sampleN.HVNTID(CV = CV, details = FALSE)[["Sample size"]]
suppressMessages(power.HVNTID(CV = CV, n = n, details = TRUE))
```
The ABE component shows a lower probability to demonstrate BE than the *s*~wT~/*s*~wR~ component and hence, drives the sample size.

[TOC ↩](#powertost)

#### ABEL{#ABEL}
Sample size assuming homoscedasticity (*CV*~wT~ = *CV*~wR~ = 0.45).
```{r ABEL_1}
sampleN.scABEL(CV = 0.45)
```
[TOC ↩](#powertost)

Iteratively adjust *α* to control the Type I Error.[6](#f6) Heteroscedasticity (*CV*~wT~ 0.30, *CV*~wR~ 0.40, *i.e.*, variance-ratio ~0.58), four period full replicate study (any of TRTR|RTRT, TRRT|RTTR, TTRR|RRTT), 24 subjects, balanced sequences.
```{r ABEL_2}
scABEL.ad(CV = c(0.30, 0.40), design = "2x2x4", n = 24)
```
With the nominal *α* 0.05 the Type I Error will be inflated (0.05953). With the adjusted *α* 0.03997 (*i.e.*, a ~92\% CI) the TIE will be controlled, although with a slight loss in power (decreases from 0.805 to 0.778).  
Consider `sampleN.scABEL.ad(CV = c(0.30, 0.35), design = "2x2x4")` to estimate the sample size preserving both the TIE and target power. In this example 26 subjects would be required.

[TOC ↩](#powertost)

ABEL cannot be applied for *AUC* (except for the WHO). Hence, in many cases ABE drives the sample size. Four period full replicate study (any of TRTR|RTRT, TRRT|RTTR, TTRR|RRTT).
```{r ABEL_3}
PK  <- c("Cmax", "AUC")
CV  <- c(0.45, 0.30)
# extract sample sizes and power
r1  <- sampleN.scABEL(CV = CV[1], design = "2x2x4",
                      print = FALSE, details = FALSE)[8:9]
r2  <- sampleN.TOST(CV = CV[2], theta0 = 0.90, design = "2x2x4",
                    print = FALSE, details = FALSE)[7:8]
n   <- as.numeric(c(r1[1], r2[1]))
pwr <- signif(as.numeric(c(r1[2], r2[2])), 5)
# compile results
res <- data.frame(PK = PK, method = c("ABEL", "ABE"),
                  n = n, power = pwr)
print(res, row.names = FALSE)
```
*AUC* drives the sample size.

For Health Canada it is the opposite (ABE for *C*~max~ and ABEL for *AUC*).
```{r ABEL_4}
PK  <- c("Cmax", "AUC")
CV  <- c(0.45, 0.30)
# extract sample sizes and power
r1  <- sampleN.TOST(CV = CV[1], theta0 = 0.90, design = "2x2x4",
                    print = FALSE, details = FALSE)[7:8]
r2  <- sampleN.scABEL(CV = CV[2], design = "2x2x4",
                      print = FALSE, details = FALSE)[8:9]
n   <- as.numeric(c(r1[1], r2[1]))
pwr <- signif(as.numeric(c(r1[2], r2[2])), 5)
# compile results
res <- data.frame(PK = PK, method = c("ABE", "ABEL"),
                  n = n, power = pwr)
print(res, row.names = FALSE)
```
Here *C*~max~ drives the sample size.

[TOC ↩](#powertost)

Sample size assuming homoscedasticity (*CV*~wT~ = *CV*~wR~ = 0.45) for the widened limits of the Gulf Cooperation Council.
```{r ABEL_5}
sampleN.scABEL(CV = 0.45, regulator = "GCC", details = FALSE)
```
[TOC ↩](#powertost)

#### RSABE{#RSABE}
#### HVD(P)s{#RSABE.HVDP}
Sample size for a four period full replicate study (any of TRTR|RTRT, TRRT|RTTR, TTRR|RRTT) assuming heteroscedasticity (*CV*~wT~ 0.40, *CV*~wR~ 0.50, *i.e.*, variance-ratio ~0.67). Details of the sample size search suppressed.
```{r RSABE}
sampleN.RSABE(CV = c(0.40, 0.50), design = "2x2x4", details = FALSE)
```
[TOC ↩](#powertost)

#### NTIDs (FDA, CDE){#RSABE.HVNTID}
Sample size assuming heteroscedasticity (*CV*~w~ 0.10, variance-ratio 2.5, *i.e.*, the test treatment has a substantially higher variability than the reference). TRTR|RTRT according to the FDA’s guidance.[7](#f7) Assess additionally which one of the three components (scaled ABE, conventional ABE, *s*~wT~/*s*~wR~-ratio) drives the sample size.
```{r NTID2}
CV <- signif(CVp2CV(CV = 0.10, ratio = 2.5), 4)
n  <- sampleN.NTID(CV = CV)[["Sample size"]]
suppressMessages(power.NTID(CV = CV, n = n, details = TRUE))
```
The *s*~wT~/*s*~wR~ component shows the lowest probability to demonstrate BE and hence, drives the sample size.

[TOC ↩](#powertost)

Compare that with homoscedasticity (*CV*~wT~ = *CV*~wR~ = 0.10):
```{r NTID3}
CV <- 0.10
n  <- sampleN.NTID(CV = CV, details = FALSE)[["Sample size"]]
suppressMessages(power.NTID(CV = CV, n = n, details = TRUE))
```    
Here the scaled ABE component shows the lowest probability to demonstrate BE and drives the sample size – which is much lower than in the previous example.

[TOC ↩](#powertost)

Comparison with *fixed* narrower limits applicable in other jurisdictions. Note that a replicate design is not mandatory -- reducing the chance of dropouts and requiring less administrations
```{r NTID4}
CV  <- 0.10
# extract sample sizes and power
r1  <- sampleN.NTID(CV = CV, print = FALSE, details = FALSE)[8:9]
r2  <- sampleN.TOST(CV = CV, theta0 = 0.975, theta1 = 0.90,
                    design = "2x2x4", print = FALSE, details = FALSE)[7:8]
r3  <- sampleN.TOST(CV = CV, theta0 = 0.975, theta1 = 0.90,
                    design = "2x2x3", print = FALSE, details = FALSE)[7:8]
r4  <- sampleN.TOST(CV = CV, theta0 = 0.975, theta1 = 0.90,
                    print = FALSE, details = FALSE)[7:8]
n   <- as.numeric(c(r1[1], r2[1], r3[1], r4[1]))
pwr <- signif(as.numeric(c(r1[2], r2[2], r3[2], r4[2])), 5)
# compile results
res <- data.frame(method = c("FDA/CDE", rep ("fixed narrow", 3)),
                  design = c(rep("2x2x4", 2), "2x2x3", "2x2x2"),
                  n = n, power = pwr, a = n * c(4, 4, 3, 2))
names(res)[5] <- "adm. #" # number of administrations
print(res, row.names = FALSE)
```

[TOC ↩](#powertost)

### Dose-Proportionality
*CV* 0.20 (20\%), doses 1, 2, and 8 units, assumed slope *β*~0~ 1, target power 0.90.
```{r DP}
sampleN.dp(CV = 0.20, doses = c(1, 2, 8), beta0 = 1, targetpower = 0.90)
```
Note that the acceptance range of the slope depends on the ratio of the highest and lowest doses (*i.e.*, it gets tighter for wider dose ranges and therefore, higher sample sizes will be required).  
In an exploratory setting wider equivalence margins {*θ*~1~, *θ*~2~} (0.50, 2.00) were proposed,[8](#f8) translating in this example to an acceptance range of `0.66667 ... 1.3333` and a sample size of only six subjects.

[TOC ↩](#powertost)

### Power Analysis
Explore impact of deviations from assumptions (higher *CV*, higher deviation of *θ*~0~ from 1, dropouts) on power. Assumed within-subject *CV* 0.20 (20\%), target power 0.90. Plot suppressed.
```{r PA}
res <- pa.ABE(CV = 0.20, targetpower = 0.90)
print(res, plotit = FALSE)
```
If the study starts with 26 subjects (power \~0.92), the *CV* can increase to \~0.27 **or** *θ*~0~ decrease to \~0.90 **or** the sample size decrease to 10 whilst power will still be ≥0.70.    
However, this is **not** a substitute for the ‘Sensitivity Analysis’ recommended in ICH-E9,[9](#f9) since in a real study a combination of all effects occurs simultaneously. It is up to *you* to decide on reasonable combinations and analyze their respective power.

[TOC ↩](#powertost)

### Speed Comparisons
Performed on a Xeon E3-1245v3 3.4 GHz, 8 MB cache, 16 GB RAM, R `r getRversion()` 64 bit on Windows 7.

#### ABE
2×2 crossover design, *CV* 0.17. Sample sizes and achieved power for the supported methods (the 1st one is the default).
```
    method  n   power time (s)
     owenq 14 0.80568  0.00128
       mvt 14 0.80569  0.11778
noncentral 14 0.80568  0.00100
   shifted 16 0.85230  0.00096
```
The 2nd exact method is substantially slower than the 1st. The approximation based on the noncentral *t*-distribution is slightly faster but matches the 1st exact method closely. Though the approximation based on the shifted central *t*-distribution is the fastest, it *might* estimate a larger than necessary sample size. Hence, it should be used only for comparative purposes.

#### ABEL
Four period full replicate study (any of TRTR|RTRT, TRRT|RTTR, TTRR|RRTT), homogenicity (*CV*~wT~ = *CV*~wR~ 0.45). Sample sizes and achieved power for the supported methods.
```
              function              method  n   power time (s)
        sampleN.scABEL    ‘key’ statistics 28 0.81116   0.1348
 sampleN.scABEL.sdsims subject simulations 28 0.81196   2.5377
```
Simulating via the ‘key’ statistics is the method of choice for speed reasons.  
However, subject simulations are recommended **if**

  - the partial replicate design (TRR|RTR|RRT) is planned **and**
  - the special case of heterogenicity *CV*~wT~ > *CV*~wR~ is expected.

[TOC ↩](#powertost)

## Installation
You can install the released version of PowerTOST from [CRAN](https://CRAN.R-project.org) with
```{r inst}
package <- "PowerTOST"
inst    <- package %in% installed.packages()
if (length(package[!inst]) > 0) install.packages(package[!inst])
```
… and the development version from [GitHub](https://github.com/) with
```
# install.packages("remotes")
remotes::install_github("Detlew/PowerTOST")
```
Skips installation from a github remote if the [SHA-1](https://en.wikipedia.org/wiki/SHA-1) has not changed since last install. Use `force = TRUE` to force installation.

[TOC ↩](#powertost)

## Session Information
Inspect this information for reproducibility. Of particular importance are the versions of R and the packages used to create this workflow. It is considered good practice to record this information with every analysis.\
Version `r packageVersion("PowerTOST")` built `r packageDate("PowerTOST", date.fields = "Built")` with R `r substr(packageDescription("PowerTOST", fields = "Built"), 3, 7)`.

```{r, sessioninfo}
options(width = 66)
sessionInfo()
```

[TOC ↩](#powertost)

***

1. Tóthfalusi L, Endrényi L. *Sample Sizes for Designing
Bioequivalence Studies for Highly Variable Drugs.* J Pharm Pharmacol Sci. 2012;
15(1): 73--84. [doi:10.18433/j3z88f](https://doi.org/10.18433/j3z88f). [Open access](https://ejournals.library.ualberta.ca/index.php/JPPS/article/download/11612/9489). [↩](#a1)\
2. Fieller EC. *Some Problems In Interval Estimation.* J Royal Stat Soc B. 1954; 16(2): 175–85. [JSTOR:2984043](https://www.jstor.org/stable/2984043). [↩](#a2)\
3. U.S. Food and Drug Administration, Office of Generic Drugs. *Draft Guidance on Dabigatran Etexilate Mesylate.* Recommended Jun 2012; Revised Sep 2015, Jul 2017. [Online](https://www.accessdata.fda.gov/drugsatfda_docs/psg/Dabigatran%20etexilate%20mesylate_oral%20capsule_NDA%20022512_RV05-17.pdf). [↩](#a3)\
4. U.S. Food and Drug Administration, Office of Generic Drugs. *Draft Guidance on Rivaroxaban.* Recommended Sep 2015. [Online](https://www.accessdata.fda.gov/drugsatfda_docs/psg/Rivaroxaban_oral%20tablet_22406_RC09-15.pdf). [↩](#a4)\
5. U.S. Food and Drug Administration, Office of Generic Drugs. *Draft Guidance on Edoxaban Tosylate.* Recommended May 2017; Revised Mar 2020. [Online](https://www.accessdata.fda.gov/drugsatfda_docs/psg/PSG_206316.pdf). [↩](#a5)\
6. Labes D, Schütz H. *Inflation of Type I Error in the Evaluation of Scaled Average Bioequivalence, and a Method for its Control.* Pharm Res. 2016; 33(11): 2805--14. [doi:10.1007/s11095-016-2006-1](https://doi.org/10.1007/s11095-016-2006-1). [↩](#a6)\
7. U.S. Food and Drug Administration, Center for Drug Evaluation and Research. *Draft Guidance for Industry. Bioequivalence Studies with Pharmacokinetic Endpoints for Drugs Submitted Under an ANDA.* August 2021. [Online](https://www.fda.gov/media/87219/download). [↩](#a7)\
8. Hummel J, McKendrick S, Brindley C, French R. *Exploratory assessment of dose proportionality: review of current approaches and proposal for a practical criterion.* Pharm. Stat. 2009; 8(1): 38--49. [doi:10.1002/pst.326](https://doi.org/10.1002/pst.326). [↩](#a8)\
9. International Conference on
Harmonisation of Technical Requirements for Registration of
Pharmaceuticals for Human Use. *ICH Harmonised Tripartite
Guideline. E9. Statistical Principles for Clinical Trials.* 5 February 1998.
[Online](https://database.ich.org/sites/default/files/E9_Guideline.pdf). [↩](#a9)

GitHub Events

Total
  • Issues event: 3
  • Issue comment event: 3
Last Year
  • Issues event: 3
  • Issue comment event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 562
  • Total Committers: 5
  • Avg Commits per committer: 112.4
  • Development Distribution Score (DDS): 0.468
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Detlew d****s@g****e 299
Helmut01 h****z@c****t 227
Benjamin Lang b****g@i****m 25
HS HS 8
Benjamin Lang l****e 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 7
  • Total pull requests: 2
  • Average time to close issues: 15 days
  • Average time to close pull requests: 4 days
  • Total issue authors: 6
  • Total pull request authors: 2
  • Average comments per issue: 2.86
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: 7 days
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • PharmCat (2)
  • BertramTschiderer (1)
  • Helmut01 (1)
  • certara-mtomashevskiy (1)
  • stla (1)
  • jpkrooney (1)
Pull Request Authors
  • Helmut01 (1)
  • lang-benjamin (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 1,779 last-month
  • Total docker downloads: 43,390
  • Total dependent packages: 2
  • Total dependent repositories: 4
  • Total versions: 62
  • Total maintainers: 1
cran.r-project.org: PowerTOST

Power and Sample Size for (Bio)Equivalence Studies

  • Versions: 62
  • Dependent Packages: 2
  • Dependent Repositories: 4
  • Downloads: 1,779 Last month
  • Docker Downloads: 43,390
Rankings
Docker downloads count: 0.6%
Average: 11.3%
Forks count: 12.2%
Stargazers count: 13.3%
Downloads: 13.6%
Dependent packages count: 13.7%
Dependent repos count: 14.5%
Maintainers (1)
Last synced: 11 months ago

Dependencies

DESCRIPTION cran
  • TeachingDemos * imports
  • cubature >= 1.3 imports
  • grDevices * imports
  • graphics * imports
  • mvtnorm * imports
  • stats * imports
  • utils * imports
  • crossdes * suggests
  • emmeans * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • tufte * suggests