[R] Adjusting p values of a matrix
Spencer Graves
spencer.graves at structuremonitoring.com
Mon Apr 4 18:08:20 CEST 2011
There are also 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
n(n-1)/2.
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.
Spencer
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