Dear all,

I am currently working with expression data in LIMMA and have been asked to fit a robust linear model:

lm.fit.rob <- lmFit(object=y$E,design=m.matrix, method="robust") lm.fit.rob.bayes <- eBayes(lm.fit.rob) lm.fit.rob.bayes.tt <- topTable(lm.fit.rob.bayes,coef="Group")

It is easy to find that lmFit uses mrlm, and that mrlm uses rlm. However, rlm does not generate p-values, and from what I have read (e.g. http://r.789695.n4.nabble.com/p-values-td803236.html ) it is not a trivial thing to do. What confuses me is that topTable generates p-values, and I can't find in the documentation how and on which assumptions.

The robust models do greatly improve my p-values, but can they be trusted?

Best regards,

Arvid

Dear Gordon,

Thank you for your answer!

My issue is that I want to use my p-values for filtering, but when using method="ls" (even if using robust=TRUE in eBayes) I get no significant values after adjusting for multiple testing at all. Using the robust method in lmFit however generates a distribution of p-values much closer to what I would expect. It also gives me enough significant genes to work with in the following pathway analysis.

I understand that the p-values I get are not to be trusted if interpreting them as actual p-values, but would you also say that they cannot be used for filtering?

Best regards,

Arvid

When you say "My issue is that I want to use my p-values for filtering," do you mean gene ranking? Yes, you could use them for ranking.

Gordon