AltReg: Estimate in a method comparison model with replicates

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

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
  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-6 )

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.

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.

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.

Author(s)

Bendix Carstensen, Steno Diabetes Center, bxc@steno.dk, http://BendixCarstensen.com.

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
data( ox )
ox <- Meth( ox )
## Not run: 
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) 
## End(Not run)

Example output

The following variables from the dataframe
"ox" are used as the Meth variables:
meth: meth 
item: item 
repl: repl 
   y: y 
        #Replicates
Method    1   2   3 #Items #Obs: 354 Values:  min  med  max
  CO      1   4  56     61       177         22.2 78.6 93.5
  pulse   1   4  56     61       177         24.0 75.0 94.0

iteration 1 criterion: 1 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO     0.003 0.998 0.098         1.151 1.151     1.000 0.994 0.220 0.197 0.161
pulse -0.003 1.003 0.098         1.151 1.151     1.006 1.000 0.222 0.198 0.178

iteration 2 criterion: 0.08547255 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.024 1.032 0.100         1.151 1.181     1.000 1.013 0.222 0.185 0.158
pulse -0.039 1.019 0.121         1.121 1.151     0.987 1.000 0.220 0.182 0.181

iteration 3 criterion: 0.0732349 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.054 1.068 0.097         1.151 1.209      1.00 1.031 0.224 0.175 0.155
pulse -0.075 1.036 0.125         1.094 1.151      0.97 1.000 0.218 0.170 0.183

iteration 4 criterion: 0.05672292 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.087 1.104 0.094         1.151 1.234     1.000 1.047 0.226 0.168 0.153
pulse -0.111 1.055 0.129         1.071 1.151     0.955 1.000 0.216 0.161 0.185

iteration 5 criterion: 0.03987535 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.121 1.140 0.092         1.151 1.255     1.000 1.061 0.228 0.164 0.150
pulse -0.146 1.075 0.133         1.052 1.151     0.942 1.000 0.215 0.155 0.187

iteration 6 criterion: 0.02601184 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.157 1.176 0.089         1.151 1.272     1.000 1.073 0.229 0.162 0.149
pulse -0.181 1.096 0.136         1.038 1.151     0.932 1.000 0.213 0.151 0.188

iteration 7 criterion: 0.01624239 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.194 1.211 0.087         1.151 1.284     1.000 1.082 0.230 0.161 0.147
pulse -0.216 1.120 0.139         1.027 1.151     0.925 1.000 0.213 0.148 0.189

iteration 8 criterion: 0.009992423 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.233 1.247 0.086         1.151 1.293     1.000 1.089 0.231 0.160 0.146
pulse -0.251 1.145 0.140         1.020 1.151     0.919 1.000 0.212 0.147 0.190

iteration 9 criterion: 0.006183976 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.272 1.282 0.084         1.151 1.300     1.000 1.094 0.231 0.160 0.145
pulse -0.286 1.172 0.142         1.014 1.151     0.914 1.000 0.211 0.146 0.190

iteration 10 criterion: 0.004311325 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.312 1.318 0.084         1.151 1.304     1.000 1.097 0.232 0.160 0.144
pulse -0.322 1.201 0.142         1.011 1.151     0.911 1.000 0.211 0.145 0.191

iteration 11 criterion: 0.003151149 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.353 1.354 0.083         1.151 1.308     1.000   1.1 0.232 0.160 0.144
pulse -0.359 1.231 0.143         1.008 1.151     0.909   1.0 0.211 0.145 0.191

iteration 12 criterion: 0.002286334 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.395 1.391 0.082         1.151 1.310     1.000 1.102 0.232 0.160 0.144
pulse -0.397 1.262 0.144         1.006 1.151     0.907 1.000 0.211 0.145 0.191

iteration 13 criterion: 0.001650499 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.439 1.428 0.082         1.151 1.312     1.000 1.103 0.232 0.160 0.143
pulse -0.436 1.294 0.144         1.005 1.151     0.906 1.000 0.210 0.145 0.191

iteration 14 criterion: 0.001187759 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.483 1.466 0.082         1.151 1.313     1.000 1.104 0.232 0.160 0.143
pulse -0.475 1.328 0.144         1.004 1.151     0.905 1.000 0.210 0.145 0.191

iteration 15 criterion: 0.0008526642 
       alpha  beta sigma Intercept: CO pulse Slope: CO pulse   IxR   MxI   res
CO    -0.528 1.506 0.082         1.151 1.314     1.000 1.105 0.232 0.160 0.143
pulse -0.516 1.362 0.144         1.003 1.151     0.905 1.000 0.210 0.145 0.191

AltReg converged after  15 iterations  
Last convergence criterion was  0.0008526642 
List of 3
 $ Conv   : num [1:2, 1:2, 1:6] 0 -0.038 0.042 0 1 ...
  ..- attr(*, "dimnames")=List of 3
  .. ..$ To:  : chr [1:2] "CO" "pulse"
  .. ..$ From:: chr [1:2] "CO" "pulse"
  .. ..$      : chr [1:6] "alpha" "beta" "sd.pred" "int(t-f)" ...
 $ VarComp: num [1:2, 1:3] 0.232 0.21 0.16 0.145 0.143 ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ Method: chr [1:2] "CO" "pulse"
  .. ..$   s.d.: chr [1:3] "IxR" "MxI" "res"
 $ data   :ClassesMethand 'data.frame':	354 obs. of  4 variables:
  ..$ meth: Factor w/ 2 levels "CO","pulse": 1 1 1 1 1 1 1 1 1 1 ...
  ..$ item: Factor w/ 61 levels "1","2","3","4",..: 1 1 1 2 2 2 3 3 3 4 ...
  ..$ repl: Factor w/ 3 levels "1","2","3": 1 2 3 1 2 3 1 2 3 1 ...
  ..$ y   : num [1:354] 78 76.4 77.2 68.7 67.6 68.3 82.9 80.1 80.7 62.3 ...
 - attr(*, "class")= chr [1:2] "MethComp" "AltReg"
 - attr(*, "Transform")=List of 2
  ..$ trans:function (p)  
  ..$ inv  :function (x)  
 - attr(*, "RandomRaters")= logi FALSE

Note: Response transformed by:  function (p) log(p/(100 - p)) 


 Conversion between methods:
              alpha   beta sd.pred int(t-f) slope(t-f) sd(t-f)
To:   From:                                                   
CO    CO      0.000  1.000   0.202    0.000      0.000   0.202
      pulse   0.042  1.105   0.341    0.040      0.100   0.324
pulse CO     -0.038  0.905   0.309   -0.040     -0.100   0.324
      pulse   0.000  1.000   0.271    0.000      0.000   0.271

 Variance components (sd):
         s.d.
Method    IxR   MxI   res
  CO    0.232 0.160 0.143
  pulse 0.210 0.145 0.191
Warning message:
In log(p/(100 - p)) : NaNs produced
Warning message:
In log(p/(100 - p)) : NaNs produced

MethComp documentation built on May 2, 2019, 5:06 p.m.

Related to AltReg in MethComp...