Description Usage Arguments Details Value Author(s) References See Also Examples

`mcreg`

is used to compare two measurement methods by
means of regression analysis. Available methods comprise
ordinary and weighted linear regression, Deming and
weighted Deming regression and Passing-Bablok regression.
Point estimates of regression parameters are computed
together with their standard errors and confidence
intervals.

1 2 3 4 5 6 7 8 | ```
mcreg(x, y = NULL, error.ratio = 1, alpha = 0.05, mref.name = NULL,
mtest.name = NULL, sample.names = NULL, method.reg = c("PaBa", "LinReg",
"WLinReg", "Deming", "WDeming", "PaBaLarge"), method.ci = c("bootstrap",
"jackknife", "analytical", "nestedbootstrap"),
method.bootstrap.ci = c("quantile", "Student", "BCa", "tBoot"),
nsamples = 999, nnested = 25, rng.seed = NULL,
rng.kind = "Mersenne-Twister", iter.max = 30, threshold = 1e-06,
na.rm = FALSE, NBins = 1e+06, slope.measure = c("radian", "tangent"))
``` |

`x` |
measurement values of reference method, or two column matrix. |

`y` |
measurement values of test method. |

`mref.name` |
name of reference method (Default "Method1"). |

`mtest.name` |
name of test Method (Default "Method2"). |

`sample.names` |
names of cases (Default "S##"). |

`error.ratio` |
ratio between squared measurement errors of reference and test method, necessary for Deming regression (Default 1). |

`alpha` |
value specifying the 100(1-alpha)% confidence level for confidence intervals (Default is 0.05). |

`method.reg` |
regression method. It is possible to
choose between five regression methods: |

`method.ci` |
method of confidence interval
calculation. The function contains four basic methods for
calculation of confidence intervals for regression
coefficients. |

`method.bootstrap.ci` |
bootstrap based confidence interval estimation method. |

`nsamples` |
number of bootstrap samples. |

`nnested` |
number of nested bootstrap samples. |

`rng.seed` |
integer number that sets the random number generator seed for bootstrap sampling. If set to NULL currently in the R session used RNG setting will be used. |

`rng.kind` |
type of random number generator for bootstrap sampling. Only used when rng.seed is specified, see set.seed for details. |

`iter.max` |
maximum number of iterations for weighted Deming iterative algorithm. |

`threshold` |
numerical tolerance for weighted Deming iterative algorithm convergence. |

`na.rm` |
remove measurement pairs that contain missing values (Default is FALSE). |

`NBins` |
number of bins used when 'reg.method="PaBaLarge"' to classify each slope in one of 'NBins' bins covering the range of all slopes |

`slope.measure` |
angular measure of pairwise slopes
used for exact PaBa regression (see below for details). |

The regression analysis yields regression coefficients
'Inercept' and 'Slope' of the regression *Testmethod =
Intercept + Slope * Referencemethod*. There are methods for
computing the systematical bias between reference and test
method at a decision point Xc, *Bias(Xc) = Intercept +
(Slope-1) * Xc*, accompanied by its corresponding standard
error and confidence interval. One can use plotting method
`plotBias`

for a comprehensive view of the
systematical bias.

Weighted regression for heteroscedastic data is available for linear and Deming regression and implemented as a data point weighting with the inverted squared value of the reference method. Therefore calculation of weighted regression (linear and Deming) is available only for positive values (>0). Passing-Bablok regression is only available for non-negative values (>=0).

Confidence intervals for regression parameters and bias estimates are calculated either by using analytical methods or by means of resampling methods ("jackknife", "bootstrap", "nested bootstrap"). An analytical method is available for all types of regression except for weighted Deming. For Passing-Bablok regression the option "analytical" calculates confidence intervals for the regression parameters according to the non-parametric approach given in the original reference.

The "jackknife" (or leave one out resampling) method was suggested by Linnet for calculating confidence intervals of regression parameters of Deming and weighted Deming regression. It is possible to calculate jackknife confidence intervals for all types of regression. Note that we do not recommend this method for Passing-Bablok since it has a tendency of underestimating the variability (jackknife is known to yield incorrect estimates for errors of quantiles).

The bootstrap method requires additionally choosing a value
for `method.bootstrap.ci`

. If bootstrap is the method
of choice, "BCa", t-bootstrap ("tBoot") and simple
"quantile" confidence intervals are recommended (See Efron
B. and Tibshirani R.J.(1993),Carpenter J., Bithell J.
(2000)). The "nestedbootstrap" method can be very
time-consuming but is necessary for calculating t-bootstrap
confidence intervals for weighted Deming or Passing-Bablok
regression. For these regression methods there are no
analytical solutions for computing standard errors, which
therefore have to be obtained by nested bootstrapping.

Note that estimating resampling based confidence intervals
for Passing-Bablok regressions can take very long for
larger data sets due to the high computational complexity
of the algorithm. To mitigate this drawback an adaption of
the Passing-Bablok algorithm has been implemented
(`"PaBaLarge"`

), which yields approximative results.
This approach does not build the complete upper triangular
matrix of all 'n*(n-1)/2' slopes. It subdivides the range
of slopes into 'NBins' classes, and sorts each slope into
one of these bins. The remaining steps are the same as for
the exact `"PaBa"`

algorithm, except that these are
performed on the binned slopes instead of operating on the
matrix of slopes.

Our implementation of exact Passing-Bablok regression
(`"PaBa"`

) provides two alternative metrics for
regression slopes which can result in different regression
estimates. As a robust regression method PaBa is
essentially invariant to the parameterization of regression
slopes, however in the case of an even number of all
pairwise slopes the two central slopes are averaged to
estimate the final regression slope. In this situation
using an angle based metric (`slope.measure="radian"`

)
will result in a regression estimate that is geometrically
centered between the two central slopes, whereas the
tangent measure (`slope.measure="tangent"`

) proposed
in Passing and Bablok (1983) will be geometrically biased
towards a higher slope. See below for a pathological
example. Note that the difference between the two measures
is neglectable for data sets with reasonable sample size
(N>20) and correlation.

"MCResult" object containing regression results. The
function `getCoefficients`

or
`printSummary`

can be used to obtain or print a
summary of the results. The function `getData`

allows to see the original data. An S4 object of class
"MCResult" containing at least the following slots:

`data` |
measurement data in wide format, one pair of observations per sample. Includes samples ID, reference measurement, test measurement. |

`para` |
numeric matrix with estimates for slope and intercept, corresponding standard deviations and confidence intervals. |

`mnames` |
character vector of length two containing names of analytical methods. |

`regmeth` |
type of regression type used for parameter estimation. |

`cimeth` |
method used for calculation of confidence intervals. |

`error.ratio` |
ratio between squared measurement errors of reference and test method, necessary for Deming regression. |

`alpha` |
confidence level using for calculation of confidence intervals. |

Ekaterina Manuilova [email protected], Andre Schuetzenmeister [email protected], Fabian Model [email protected]

Bland, J. M., Altman, D. G. (1986) Statistical methods for
assessing agreement between two methods of clinical
measurement. *Lancet*, **i:** 307–310.

Linnet, K. (1993) Evaluation of Regression Procedures for
Methods Comparison Studies. *CLIN. CHEM.*
**39/3**, 424–432.

Linnet, K. (1990) Estimation of the Linear Relationship
between the Measurements of two Methods with Proportional
Errors. *STATISTICS IN MEDICINE*, Vol. **9**,
1463–1473.

Neter, J., Wassermann, W., Kunter, M. (1985) *Applied
Statistical Models.* Richard D. Irwing, INC.

Looney, S. W. (2010) Statistical Methods for Assessing
Biomarkers. *Methods in Molecular Biology*, vol.
**184**: *Biostatistical Methods*. Human Press INC.

Passing, H., Bablok, W. (1983) A new biometrical procedure
for testing the equality of measurements from two different
analytical methods. Application of linear regression
procedures for method comparison studies in clinical
chemistry, Part I. *J Clin Chem Clin Biochem*. Nov;
**21(11)**:709–20.

Efron, B., Tibshirani, R.J. (1993) *An Introduction to
the Bootstrap*. Chapman and Hall.

Carpenter, J., Bithell, J. (2000) Bootstrap confidence
intervals: when, which, what? A practical guide for medical
statisticians. *Stat Med*, **19 (9)**, 1141–1164.

*CLSI EP9-A2*. Method Comparison and Bias Estimation
Using Patient Samples; Approved Guideline.

`plotDifference`

, `plot.mcr`

,
`getResiduals`

, `plotResiduals`

,
`calcResponse`

, `calcBias`

,
`plotBias`

, `compareFit`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | ```
library("mcr")
data(creatinine,package="mcr")
x <- creatinine$serum.crea
y <- creatinine$plasma.crea
# Deming regression fit.
# The confidence intercals for regression coefficients
# are calculated with analytical method
model1<- mcreg(x,y,error.ratio=1,method.reg="Deming", method.ci="analytical",
mref.name = "serum.crea", mtest.name = "plasma.crea", na.rm=TRUE)
# Results
printSummary(model1)
getCoefficients(model1)
plot(model1)
# Deming regression fit.
# The confidence intervals for regression coefficients
# are calculated with bootstrap (BCa) method
model2<- mcreg(x,y,error.ratio=1,method.reg="Deming",
method.ci="bootstrap", method.bootstrap.ci = "BCa",
mref.name = "serum.crea", mtest.name = "plasma.crea", na.rm=TRUE)
compareFit(model1, model2)
## Pathological example of Passing-Bablok regression where measure for slope angle matters
x1 <- 1:10; y1 <- 0.5*x1; x <- c(x1,y1); y <- c(y1,x1)
m1 <- mcreg(x,y,method.reg="PaBa",method.ci="analytical",slope.measure="radian",
mref.name="X",mtest.name="Y")
m2 <- mcreg(x,y,method.reg="PaBa",method.ci="analytical",slope.measure="tangent",
mref.name="X",mtest.name="Y")
plot(m1, add.legend=FALSE,identity=FALSE,
main="Radian vs. tangent slope measures in Passing-Bablok regression\n(pathological example)",
ci.area=FALSE,add.cor=FALSE)
plot(m2, ci.area=FALSE,reg.col="darkgreen",reg.lty=2,identity=FALSE,add.legend=FALSE,
draw.points=FALSE,add=TRUE,add.cor=FALSE)
includeLegend(place="topleft",models=list(m1,m2),model.names=c("PaBa Radian","PaBa Tangent"),
colors=c("darkblue","darkgreen"),lty=c(1,2),design="1",digits=2)
``` |

```
Please note:
2 of 110 observations contain missing values and have been removed.
Number of data points in analysis is 108.
------------------------------------------
Reference method: serum.crea
Test method: plasma.crea
Number of data points: 108
------------------------------------------
The confidence intervals are calculated with analytical method.
Confidence level: 95%
Error ratio: 1
------------------------------------------
DEMING REGRESSION FIT:
EST SE LCI UCI
Intercept -0.05891341 0.04604315 -0.1501984 0.03237162
Slope 1.05453934 0.03534361 0.9844672 1.12461148
NULL
EST SE LCI UCI
Intercept -0.05891341 0.04604315 -0.1501984 0.03237162
Slope 1.05453934 0.03534361 0.9844672 1.12461148
Please note:
2 of 110 observations contain missing values and have been removed.
Number of data points in analysis is 108.
```

mcr documentation built on May 30, 2017, 6:15 a.m.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.