Learn R Programming

qpcR (version 1.3-7.1)

pcropt2: Elimination of qPCR cycles with low/high impact on fitted parameters

Description

The qPCR curve containing n cycles is refitted n-1 times, each time leaving out one cycle. The difference of the new coefficients of the fit in comparison to the original coefficients is calculated and those cycles are eliminated that have a weak (strong) influence on the change of coefficients. A new model is returned with the selected cycles left out.

Usage

pcropt2(object, plot = TRUE, which.par = "all", quan = 0.1, 
        delete = c("low", "high"), ...)

Arguments

object
an object of class 'pcrfit'.
plot
logical. If TRUE, the refitting and the final result are plotted.
which.par
The coefficient(s) to be analysed. Either "all" for all coefficients, or the coefficient name, i.e. "b".
quan
the quantile for selecting the cycles exhibiting weak (strong) influence on the coefficient estimation.
delete
which cycles to delete. Those with low influence on the coefficients or those with a high one.
...
other parameters to be passed on to the plotting functions.

Value

  • A new model of class 'pcrfit' with the corresponding cycles removed.

Details

For each deletion of cycle $i = 1, \ldots, n$, the qPCR data is refitted yielding new parameter estimates $$\hat\theta^{\ast 1}, \ldots, \hat\theta^{\ast i}$$ The difference to the original coefficients $\hat\theta$ is calculated by $$crit = \frac{\left|\hat\theta - \hat\theta^{\ast i}\right|}{s.e.(\hat\theta)}$$ with s.e. = standard error. The user then chooses the cycles with $F^{-1}(p) = inf{crit \in \R: F(crit) \ge p}$ with $p$ = the selected quantile.

References

Nonlinear regression analysis and its applications. Bates DM & Watts DG. Wiley, Chichester, UK, 1988.

See Also

The function pcropt1 which removes cycles sequentially from both sides of the curve.

Examples

Run this code
## which cycles have low influence
## on parameter 'c' (the lower
## asymptote)?
m1 <- pcrfit(reps, 1, 2, l4)
pcropt2(m1, which.par = "c", quan = 0.3, delete = "low")

## and on 'b' and 'e'?
pcropt2(m1, which.par = c("b", "e"), quan = 0.3, delete = "low")

## very high influence on 'd'
## (upper asymptote)?
pcropt2(m1, which.par = c("d"), quan = 0.1, delete = "high")

Run the code above in your browser using DataLab