For each gene, classify a series of related t-statistics as significantly up or down using nested F-tests.
numeric matrix of t-statistics or an
covariance matrix of each row of t-statistics. Will be extracted automatically from an
numeric vector giving the degrees of freedom for the t-statistics.
May have length 1 or length equal to the number of rows of
numeric value between 0 and 1 giving the desired size of the test.
classifyTestsF implements the
"nestedF" multiple testing option offered by
Users should generally use
decideTests rather than calling
classifyTestsF directly because, by itself,
classifyTestsF does not incorporate any multiple testing adjustment across genes.
Instead it simply tests across contrasts for each gene individually.
classifyTestsF uses a nested F-test approach giving particular attention to correctly classifying genes that have two or more significant t-statistics, i.e., which are differentially expressed in two or more conditions.
For each row of
tstat, the overall F-statistics is constructed from the t-statistics as for
At least one constrast will be classified as significant if and only if the overall F-statistic is significant.
If the overall F-statistic is significant, then the function makes a best choice as to which t-statistics contributed to this result.
The methodology is based on the principle that any t-statistic should be called significant if the F-test is still significant for that row when all the larger t-statistics are set to the same absolute size as the t-statistic in question.
Compared to conventional multiple testing methods, the nested F-test approach achieves better consistency between related contrasts. (For example, if B is judged to be different from C, then at least one of B or C should be different to A.) The approach was first used by Michaud et al (2008). The nested F-test approach provides weak control of the family-wise error rate, i.e., it correctly controls the type I error rate of calling any contrast as significant if all the null hypotheses are true. In other words, it provides error rate control at the overall F-test level but does not provide strict error rate control at the individual contrast level.
object is a limma linear model fitted object, from which a matrix of t-statistics can be extracted, but it can also be a numeric matrix of t-statistics.
In either case, rows correspond to genes and columns to coefficients or contrasts.
object is a matrix, then it may be necessary to supply values for
cor.matrix is the same as the correlation matrix of the coefficients from which the t-statistics were calculated and
df is the degrees of freedom of the t-statistics.
All statistics for the same gene must have the same degrees of freedom.
classifyTestsF just returns the vector of overall F-statistics for each gene.
fstat.only=FALSE, then an object of class
TestResults is returned.
This is essentially a numeric matrix with elements
1 depending on whether each t-statistic is classified as significantly negative, not significant or significantly positive respectively.
fstat.only=TRUE, then a numeric vector of F-statistics is returned with attributes
df2 giving the corresponding degrees of freedom.
Michaud, J, Simpson, KM, Escher, R, Buchet-Poyau, K, Beissbarth, T, Carmichael, C, Ritchie, ME, Schutz, F, Cannon, P, Liu, M, Shen, X, Ito, Y, Raskind, WH, Horwitz, MS, Osato, M, Turner, DR, Speed, TP, Kavallaris, M, Smyth, GK, and Scott, HS (2008). Integrative analysis of RUNX1 downstream pathways and target genes. BMC Genomics 9, 363.
An overview of multiple testing functions is given in 08.Tests.
1 2 3 4 5 6 7
TStat <- matrix(c(0,10,0, 0,5,0, -4,-4,4, 2,2,2), 4, 3, byrow=TRUE) colnames(TStat) <- paste0("Contrast",1:3) rownames(TStat) <- paste0("Gene",1:4) classifyTestsF(TStat, df=20) FStat <- classifyTestsF(TStat, df=20, fstat.only=TRUE) P <- pf(FStat, df1=attr(FStat,"df1"), df2=attr(FStat,"df2"), lower.tail=FALSE) data.frame(F.Statistic=FStat,P.Value=P)
TestResults matrix Contrast1 Contrast2 Contrast3 Gene1 0 1 0 Gene2 0 1 0 Gene3 -1 -1 1 Gene4 0 0 0 F.Statistic P.Value Gene1 33.333333 5.636548e-08 Gene2 8.333333 8.586213e-04 Gene3 16.000000 1.533944e-05 Gene4 4.000000 2.207700e-02
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.