Learn R Programming

MethComp (version 1.30.2)

AltReg: Estimate in a method comparison model with replicates

Description

Estimates in the general model for method comparison studies with replicate measurements by each method, allowing for a linear relationship between methods, using the method of alternating regressions.

Usage

AltReg(
  data,
  linked = FALSE,
  IxR = linked,
  MxI = TRUE,
  varMxI = FALSE,
  eps = 0.001,
  maxiter = 50,
  trace = FALSE,
  sd.lim = 0.01,
  Transform = NULL,
  trans.tol = 1e-06
)

Value

An object of class c("MethComp","AltReg"), which is a list with three elements:

Conv

A 3-way array with the 2 first dimensions named "To:" and "From:", with methods as levels. The third dimension is classifed by the linear parameters "alpha", "beta", and "sd".

VarComp

A matrix with methods as rows and variance components as columns. Entries are the estimated standard deviations.

data

The original data used in the analysis, with untransformed measurements (ys). This is needed for plotting purposes.

Moreover, if a transformation was applied before analysis, an attribute "Transform" is present; a list with two elements trans and inv, both of which are functions, the first the transform, the last the inverse.

Arguments

data

Data frame with the data in long format, (or a Meth object) i.e. it must have columns meth, item, repl and y

linked

Logical. Are the replicates linked across methods? If true, a random item by repl is included in the model, otherwise not.

IxR

Logical, alias for linked.

MxI

Logical, should the method by item effect (matrix effect) be in the model?

varMxI

Logical, should the method by item effect have method-specific variances. Ignored if only two methods are compared. See details.

eps

Convergence criterion, the test is the max of the relative change since last iteration in both mean and variance parameters.

maxiter

Maximal number of iterations.

trace

Should a trace of the iterations be printed? If TRUE iteration number, convergence criterion and current estimates of means and sds are printed.

sd.lim

Estimated standard deviations below sd.lim are disregarded in the evaluation of convergence. See details.

Transform

A character string, or a list of two functions, each other's inverse. The measurements are transformed by this before analysis. Possibilities are: "exp", "log", "logit", "pctlogit" (transforms percentages by the logit), "sqrt", "sq" (square), "cll" (complementary log-minus-log), "ll" (log-minus-log). For further details see choose.trans.

trans.tol

The tolerance used to check whether the supplied transformation and its inverse combine to the identity. Only used if Transform is a list of two functions.

Author

Bendix Carstensen, Steno Diabetes Center, bendix.carstensen@regionh.dk, https://BendixCarstensen.com.

Details

When fitting a model with both IxR and MxI interactions it may become very unstable to have different variances of the MxI random effects for each method, and hence the default option is to have a constant MxI variance across methods. On the other hand it may be grossly inadequate to assume these variances to be identical.

If only two methods are compared, it is not possible to separate different variances of the MxI effect, and hence the varMxI is ignored in this case.

The model fitted is formulated as: $$y_{mir} = \alpha_m + \beta_m(\mu_i+a_{ir} + c_{mi}) + $$$$ e_{mir}$$ and the relevant parameters to report are the estimates sds of \(a_{ir}\) and \(c_{mi}\) multiplied with the corresonidng \(\beta_m\). Therefore, different values of the variances for MxI and IxR are reported also when varMxI==FALSE. Note that varMxI==FALSE is the default and that this is the opposite of the default in BA.est.

References

B Carstensen: Comparing and predicting between several methods of measurement. Biostatistics (2004), 5, 3, pp. 399--413.

See Also

BA.est, DA.reg, Meth.sim, MethComp

Examples

Run this code

data( ox )
ox <- Meth( ox )
if (FALSE) {
ox.AR <- AltReg( ox, linked=TRUE, trace=TRUE, Transform="pctlogit" )
str( ox.AR )
ox.AR
# plot the resulting conversion between methods
plot(ox.AR,pl.type="conv",axlim=c(20,100),points=TRUE,xaxs="i",yaxs="i",pch=16)
# - or the rotated plot
plot(ox.AR,pl.type="BA",axlim=c(20,100),points=TRUE,xaxs="i",yaxs="i",pch=16) }

Run the code above in your browser using DataLab