[BioC] Why NONE of any contrast is significant when overall F-test is significant? using "global" method in decideTests() from limma package
James W. MacDonald
jmacdon at med.umich.edu
Thu Feb 28 16:54:28 CET 2008
Hi Guiyan,
Guiyuan Lei wrote:
> Dear all,
>
> I am using limma package to identify differential expression. I have 5
> contrasts, I used F-statistic to measure significant differential
> expression, the F-test p-value is adjusted by "fdr" method . I used
> the command
>
> p.adjust(eb$F.p.value, method="fdr") < 0.05
>
> where eb is the object from eBayes(). I got 397 significant
> differential expression.
>
> Then for those 397 significantly differential expressed genes, I want
> to look at each contrast to check which contrast is significant. I
> used
>
> decideTests(eb, method="global")
>
> to classify each t-statistics as up, down or not significant.
>
> I found that among genes which are significantly expressed by F-test
> p-value, that is, the above 397 genes, some have got five '0's from
> decideTests, which means those genes are not significant for any of
> its contrast while its F-test is significant. As I understand, if
> F-test is significant, should at least one of its contrast (t-test) is
> significant. I doubt that the "global" method used in decideTests() is
> not properly used for this case? But why? Can any one explain this to
> me? Many thanks! I attach the code and results as following.
Yes. From ?decideTests:
'method="global"' will treat the entire matrix of t-statistics as
a single vector of unrelated tests.
So when you did the F-test and adjusted for multiplicity, you adjusted
for n tests. Then when you did the t-tests, you did the same, but
adjusting for 5n tests. Increasing the number of simultaneous tests
five-fold was enough to cause your multiplicity-adjusted p-values to all
become insignificant at an alpha of 0.05.
You might try method="separate" or "nestedF".
Best,
Jim
>
> library(limma)
> levels= c('h','h','h','hh','hh','mh','mh','s','s','s','y','y','y','y')
> dimnames(eset.matrix)[[2]]= levels
> TS <- factor(levels, levels= c('h','hh','mh','s','y'))
> design <- model.matrix(~0+TS)
> colnames(design) <- levels(TS)
> fit <- lmFit(eset.gcrma, design)
>
> #Construct the contrasts
> mc <- makeContrasts('s-y','h-y','mh-y','hh-h','mh-hh',levels=design)
> fit2 <- contrasts.fit(fit, mc)
> eb <- eBayes(fit2)
>
> #The adjustment methods using "fdr"
> modFpvalue <- eb$F.p.value
> selectedgenesindx <- p.adjust(eb$F.p.value, method="fdr") < 0.05
> Sig<-modFpvalue[selectedgenesindx]
> nsiggenes<-length(Sig) #number of significantly differential expression
>
> #decideTests using "global" method
> results1 <- decideTests(eb, method="global")
>
> #Order the F-statistic
> modF <- eb$F
> modFordered<-order(modF, decreasing = TRUE)
>
> #Get the up or down or not significant for nsiggenes significant
> (according adjusted p-value of F-test) differential expression
> updown<-results1[modFordered[1:nsiggenes],]
>
> Examples for genes which are significant expression by F-test
> F-test results from decideTests()
> eb$F.p.value contrast1 contrast2 contrast3 contrast4 contrast4
> 5.6E-05 0 0 0 0 0
> (this one is not significant for any of its contrast, why five '0's?)
> 0.00036 0 -1 0 0 0
>
>
> Best regards,
> Guiyuan
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
--
James W. MacDonald, M.S.
Biostatistician
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
7410 CCGC
Ann Arbor MI 48109
734-647-5623
More information about the Bioconductor
mailing list