[R] Adjusting p values of a matrix

Spencer Graves spencer.graves at prodsyse.com
Mon Apr 4 18:06:29 CEST 2011

       There are, however, the multcomp and multcompView packages that 
might provide something of interest in this regard.  "multcomp" has a 
companion book,  "Multiple Comparisons Using R" (Bretz, Hothorn, 
Westfall, 2010, CRC Press), which I believe provides an excellent 
overview of the state of the art in multiple comparisons.  The simple 
rule is Bonferroni, which involves multiplying the p-values by n or 

       Note, also, that one of the most important innovations in 
statistical methods of the past quarter century is the development of 
"false discovery rate", which estimates the false alarm rate among the 
cases that the user actually sees, which is a mixture of true and false 
hypotheses.  The p value, by contrast, is the probability of a decision 
error only among hypotheses that are true.

       For more info, see the Wikipedia entries on Bonferroni or false 
discovery rate -- or the book by Bretz, Hothorn and Westfall or the 
vignettes accompanying the multcomp package.

       Hope this helps.

On 4/4/2011 8:54 AM, Bert Gunter wrote:
> 1. This is not an R question, AFAICS.
> 2. Sounds like a research topic.  I don't think there's a meaningful
> simple answer. I suspect it strongly depends on the model and context.
> -- Bert
> On Mon, Apr 4, 2011 at 8:02 AM, January Weiner
> <january.weiner at mpiib-berlin.mpg.de>  wrote:
>> Dear all,
>> I have an n x n matrix of p-values. The matrix is symmetrical, as it
>> describes the "each against each" p values of correlation
>> coefficients.
>> How can I best correct the p values of the matrix? Notably, the total
>> number of the tests performed is n(n-1)/2, since I do not test the
>> correlation of each variable with itself. That means, I only want to
>> correct one half of the matrix, not including the diagonal. Therefore,
>> simply writing
>> pmat<- p.adjust( pmat, method= "fdr" )
>> # where pmat is an n x n matrix
>> ...doesn't cut it.
>> Of course, I can turn the matrix in to a three column data frame with
>> n(n-1)/2 rows, but that is slow and not elegant.
>> regards,
>> j.
>> --
>> -------- Dr. January Weiner 3 --------------------------------------
>> Max Planck Institute for Infection Biology
>> Charitéplatz 1
>> D-10117 Berlin, Germany
>> Web   : www.mpiib-berlin.mpg.de
>> Tel     : +49-30-28460514
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.

Spencer Graves, PE, PhD
President and Chief Operating Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph:  408-655-4567

More information about the R-help mailing list