Learn R Programming

PowerTOST (version 1.3-5)

CVpooled: Pooled CV from several studies

Description

This function calculates a pooled CV from CV's from several studies.

Usage

CVpooled(CVdata, alpha = 0.2, logscale=TRUE, robust = FALSE)
## S3 method for class 'CVp':
print(x, digits=4, verbose=FALSE, \dots)

Arguments

CVdata
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.desi
alpha
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
logscale
Defaults to TRUE. Should the calculations be done for log-transformed data?
robust
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 't
x
An object of class "CVp".
digits
Number of digits for CV.
verbose
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.

Value

  • A list of class "CVp" with components
  • CVvalue of the pooled CV
  • dfpooled degrees of freedom
  • CVupperupper confidence interval of the pooled CV
  • alphainput value
  • The class "CVp" has a S3 methods print.CVp.

Warning

Pooling of CV's from parallel-group and cross-over designs does not make any sense. Also the function does not throw an error if you do so.

Details

The pooled CV is obtained from the weighted average of the error variances obtained from the CV's 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.

References

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

See Also

known.designs, CVfromCI

Examples

Run this code
# 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 CV's
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