CVpooled {PowerTOST} | R Documentation |
Pooled CV from several studies
Description
This function pools CVs of several studies.
Usage
CVpooled(CVdata, alpha = 0.2, logscale = TRUE, robust = FALSE)
## S3 method for class 'CVp'
print(x, digits = 4, verbose = FALSE, ...)
Arguments
CVdata |
A data.frame that must contain the columns |
alpha |
Error probability for calculating an upper confidence limit of the pooled CV. |
logscale |
Should the calculations be done for log-transformed data? Defaults to |
robust |
Defaults to |
x |
An object of class |
digits |
Number of significant digits for the |
verbose |
Defaults to |
... |
More args to print(). None used. |
Details
The pooled CV is obtained from the weighted average of the error variances obtained from
the CVs of the single studies, weights are the degrees of freedom df
.
If only n
is given in the input CVdata
, the dfs are calculated via
the formulas given in known.designs()
. If both n
and df
are given
the df
column precedes.
If logscale=TRUE
the error variances are obtained via function CV2se()
.
Otherwise the pooled CV is obtained via pooling the CV^2.
Value
A list of class "CVp"
with components
CV |
value of the pooled CV |
df |
pooled degrees of freedom |
CVupper |
upper confidence interval of the pooled CV |
alpha |
input value |
The class "CVp"
has a S3 methods print.CVp
.
Warning
Pooling of CVs from parallel group and crossover designs does not make any sense.
Also the function does not throw an error if you do so.
Note
The calculations for logscale=FALSE
are not described in the references.
They are implemented by analogy to the case via log-transformed data.
The calculations are based on a common variance of Test and Reference formulations
in replicate crossover studies or a parallel group study, respectively.
Author(s)
D. Labes
References
H. Schütz’ presentations about sample size challenges.
Patterson S, Jones B. Bioequivalence and Statistics in Clinical Pharmacology. Boca Raton: Chapman & Hall / CRC Press; 2nd edition 2017. Chapter 5.7 “Determining Trial Size”.
See Also
Examples
# some data:
# the values for AUC, study 1 and study 2 are Example 3 of H. Schuetz' presentation
CVs <- ("
PKmetric | CV | n |design| source
AUC | 0.20 | 24 | 2x2 | study 1
Cmax | 0.25 | 24 | 2x2 | study 1
AUC | 0.30 | 12 | 2x2 | study 2
Cmax | 0.31 | 12 | 2x2 | study 2
AUC | 0.25 | 12 | 2x2x4| study 3 (full replicate)
")
txtcon <- textConnection(CVs)
CVdata <- read.table(txtcon, header = TRUE, sep = "|",
strip.white = TRUE, as.is = TRUE)
close(txtcon)
# evaluation of the AUC CVs
CVsAUC <- subset(CVdata, PKmetric == "AUC")
CVpooled(CVsAUC, alpha = 0.2, logscale = TRUE)
# df of the 'robust' evaluation
CVpooled(CVsAUC, alpha = 0.2, logscale = TRUE, robust = TRUE)
# print also the upper CL, data example 3
CVsAUC3 <- subset(CVsAUC,design != "2x2x4")
print(CVpooled(CVsAUC3, alpha = 0.2, robust = TRUE), digits = 3, verbose = TRUE)
# will give the output:
# Pooled CV = 0.235 with 32 degrees of freedom (robust dfs)
# Upper 80% confidence limit of CV = 0.266
#
# Combining CVs from studies evaluated by ANOVA (robust=FALSE) and
# by a mixed effects model (robust=TRUE). dfs have to be provided!
CVs <- ("
CV | n |design| source | model | df
0.212 | 24 | 2x2 | study 1 | fixed | 22
0.157 | 27 | 3x3 | study 2 | fixed | 50
0.148 | 27 | 3x3 | study 3 | mixed | 24
")
txtcon <- textConnection(CVs)
CVdata <- read.table(txtcon, header = TRUE, sep = "|",
strip.white = TRUE, as.is = TRUE)
close(txtcon)
print(CVpooled(CVdata, alpha = 0.2), digits = 3, verbose = TRUE)
# will give the output:
# Pooled CV = 0.169 with 96 degrees of freedom
# Upper 80% confidence limit of CV = 0.181