Learn R Programming

VFP (version 1.2)

deriveCx: Determine C5 and C95 or any Concentration Cx.

Description

This function makes use of a precision profile, determining the concentration of that sample when measured a large number of times, 100 * 'Cx'\ "C5" exactly 5\ 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

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

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

Value

(numeric) Mean and SD of concentration Cx

Examples

Run this code
# NOT RUN {
# 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 <- getMat.VCA(lst)		# automatically selects "total"
mat
# fit all models batch-wise
res <- fit.vfp(model.no=1:10, Data=mat)
# now search for the C5 concentration
deriveCx(res, start=15, cutoff=20, Cx=0.05, plot=TRUE)
deriveCx(res, start=25, cutoff=20, Cx=0.95, plot=TRUE)
deriveCx(res, start=25, cutoff=20, Cx=0.25, plot=TRUE)
deriveCx(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 <- deriveCx(res, Cx=p, cutoff=20))
# }

Run the code above in your browser using DataLab