Learn R Programming

VFP (version 1.4.3)

derive_cx: Determine C5 and C95 or any Concentration Cx.

Description

This function makes use of a precision profile. The concentration is sought at which 100 * 'Cx'% of the measurements lie above 'cutoff' theoretically as each X-value corresponds to a normal distribution with mean=X and SD as read off the precision profile. In case of e.g. "C5" exactly 5% will be above cutoff, whereas for "C95" 95% will be larger than cutoff. This follows the CLSI EP12 guideline whenever an internal continuous result (ICR) is available and measurement imprecision can be assumed to be normally distributed. The CLSI EP12 recommends to base derivation of C5 and C95 on the results of intermediate precision analyses using multiple samples. This includes between-day and between-run as additional variance components besides repeatability.

Usage

derive_cx(
  vfp,
  model.no = NULL,
  start = NULL,
  cutoff = NULL,
  Cx = 0.05,
  tol = 1e-06,
  plot = FALSE
)

Value

(numeric) Mean and SD of concentration Cx

Arguments

vfp

(VFP) object representing a precision profile to be used

model.no

(integer) specifying which model to use, if NULL the "best" model will be used automatically

start

(numeric) start concentration, e.g. for C5 smaller than r, for C95 larger than R

cutoff

(numeric) the cutoff of to be used

Cx

(numeric) the probability, e.g. for C5 use 0.05 and for C95 use 0.95

tol

(numeric) tolerance value determining when the iterative bisections search can terminate, i.e. when the difference becomes smalle enough

plot

(logical) TRUE = plot the result

Author

Andre Schuetzenmeister andre.schuetzenmeister@roche.com

Examples

Run this code
if (FALSE) {
# perform variance component analysis
library(VCA)
data(VCAdata1)
# perform VCA-anaylsis
lst <- anovaVCA(y~(device+lot)/day/run, VCAdata1, by="sample")
# transform list of VCA-objects into required matrix
mat <- get_mat(lst)		# automatically selects "total"
mat
# fit all models batch-wise
res <- fit_vfp(model.no=1:9, Data=mat)
# now search for the C5 concentration
derive_cx(res, start=15, cutoff=20, Cx=0.05, plot=TRUE)
derive_cx(res, start=25, cutoff=20, Cx=0.95, plot=TRUE)
derive_cx(res, start=25, cutoff=20, Cx=0.25, plot=TRUE)
derive_cx(res, start=25, cutoff=20, Cx=0.75, plot=TRUE)

#
p <- c(seq(.01, .12, .01), seq(.15, .85, .05), seq(.88, .99, .01))
system.time(x <- derive_cx(res, Cx=p, cutoff=20))
}

Run the code above in your browser using DataLab