Estimates the model parameters for all or a subset of the units.
# S3 method for ProbeLevelModel
fit(this, units="remaining", ..., force=FALSE, ram=NULL, verbose=FALSE)
Returns an integer
vector
of indices of the units fitted,
or NULL
if no units was (had to be) fitted.
The units to be fitted.
If NULL
, all units are considered.
If remaining
, only non-fitted units are considered.
Arguments passed to readUnits()
.
If TRUE
, already fitted units are re-fitted, and
cached data is re-read.
A double
indicating if more or less units should
be loaded into memory at the same time.
See Verbose
.
Henrik Bengtsson
All estimates are stored to file.
The non-array specific parameter estimates together with standard deviation estimates and convergence information are stored in one file.
The parameter estimates specific to each array, typically "chip effects", are stored in array specific files.
Data set specific estimates [L = number of probes]: phi [L doubles] (probe affinities), sd(phi) [L doubles], isOutlier(phi) [L logicals]
Algorithm-specific results: iter [1 integer], convergence1 [1 logical], convergence2 [1 logical] dTheta [1 double] sd(eps) - [1 double] estimated standard deviation of the error term
Array-specific estimates [K = nbr of arrays]: theta [K doubles] (chip effects), sd(theta) [K doubles], isOutlier(theta) [K logicals]
For each array and each unit group, we store: 1 theta, 1 sd(theta), 1 isOutlier(theta), i.e. (float, float, bit) => For each array and each unit (with \(G_j\) groups), we store: \(G_j\) theta, \(G_j\) sd(theta), \(G_j\) isOutlier(theta), i.e. \(G_j\)*(float, float, bit). For optimal access we store all thetas first, then all sd(theta) and the all isOutlier(theta). To keep track of the number of groups in each unit, we have to have a (unit, ngroups) map. This can be obtained from getUnitNames() for the AffymetrixCdfFile class.
For more information see ProbeLevelModel
.