CVpooled | R Documentation |
This function pools CVs of several studies.
CVpooled(CVdata, alpha = 0.2, logscale = TRUE, robust = FALSE)
## S3 method for class 'CVp'
print(x, digits = 4, verbose = FALSE, ...)
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. |
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.
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
.
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.
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.
D. Labes
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”.
known.designs, CVfromCI
# 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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.