Skip to content
Prev 255742 / 398506 Next

Adjusting p values of a matrix

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.