
Last chance! 50% off unlimited learning
Sale ends in
This function pools CVs of several studies.
CVpooled(CVdata, alpha = 0.2, logscale=TRUE, robust = FALSE)
# S3 method for CVp
print(x, digits=4, verbose=FALSE, …)
A data.frame that must contain the columns CV
, n
and design
where CV are the error CVs from the studies, n the number of subjects
and design is a character string describing the study design.
See known.designs()
for designs covered in this package.
If the design column is missing the classical 2x2 crossover is assumed for each study.
A message is displayed under that circumstances.
A data.frame that contains the columns CV
and giving the degrees of freedom
df
directly is also accepted as CVdata
.
Error probability for calculating an upper confidence limit of the pooled CV. Recommended 0.2-0.25 for use in subsequent sample size estimation. See f.i one of H. Schuetz lectures http://bebac.at/lectures/MU2010-CD2.pdf
Defaults to TRUE. Should the calculations be done for log-transformed data?
Defaults to FALSE.
Set to TRUE
will use the degrees of freedom according to the 'robust' evaluation
(aka Senn's basic estimator). These df's are calculated as n-seq
.
They are also often more appropriate if the CV comes from a 'true' mixed model
evaluation (FDA model for average bioequivalence).
See known.designs()$df2
for the designs covered in this package.
An object of class "CVp"
.
Number of digits for CV.
Defaults to FALSE
. Prints only the pooled CV and the df.
If set to TRUE
the upper confidence limit is also printed.
More args to print(). None used.
A list of class "CVp"
with components
value of the pooled CV
pooled degrees of freedom
upper confidence interval of the pooled CV
input value
Pooling of CVs from parallel-group and cross-over designs does not make any sense. Also the function does not throw an error if you do so.
The pooled CV is obtained from the weighted average of the error variances obtained from
the CVs of the single studies, weights are the df (degrees of freedom).
If only n
is given in the input CVdata
, the df's 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.
H. Schuetz lectures about sample size challenges at http://bebac.at/lectures.htm. Patterson, Jones "Bioequivalence and Statistics in Clinical Pharmacology" Chapter 5.7 "Determining Trial Size" Chapman & Hall/CRC, Boca Raton 2006
# NOT RUN {
# some data:
# the values for AUC, study 1 and study 2 are Example 3 of H. Schuetz lecture
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 (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 df's)
#Upper 80% confidence limit of CV = 0.266
# }
Run the code above in your browser using DataLab