BBB
BBB

Reputation: 305

what is the difference between lmFit and rlm

I want to use robust limma on my microarray data and R's user guide says rlm is the correct function to use according to:

http://rss.acs.unt.edu/Rdoc/library/limma/html/mrlm.html

I currently have:

lmFit(ExpressionMatrix, design, method = "robust", na.omit=T)

I can see that I chose the method to be robust. Does that mean that rlm will be called by this lmFit? and if I want it not to be robust, what method should I use?

Upvotes: 0

Views: 2272

Answers (2)

IRTFM
IRTFM

Reputation: 263499

The help page says:

The function mrlm is used if method="robust".

And then goes on:

If method="ls", then gls.series is used if a correlation structure has been specified, i.e., if ndups>1 or block is non-null and correlation is different from zero. If method="ls" and there is no correlation structure, lm.series is used.

Upvotes: 1

mnel
mnel

Reputation: 115515

If you follow the links from the help page for lmFit (06.LinearModels)

Fitting Models

The main function for model fitting is lmFit. This is recommended interface for most users. lmFit produces a fitted model object of class MArrayLM containing coefficients, standard errors and residual standard errors for each gene. lmFit calls one of the following three functions to do the actual computations:

lm.series

Straightforward least squares fitting of a linear model for each gene.

mrlm

An alternative to lm.series using robust regression as implemented by the rlm function in the MASS package.

gls.series

Generalized least squares taking into account correlations between duplicate spots (i.e., replicate spots on the same array) or related arrays. The function duplicateCorrelation is used to estimate the inter-duplicate or inter-block correlation before using gls.series.

Upvotes: 0

Related Questions