I have a list of 250 genes whose expression was measured in 21 samples. I want to discover which gene pairs are positively correlated. So, I performed Pearson correlation for these genes using the "rcorr" function of the Hmisc package (R). The output gives me the r and p-values. What I want to know is: do I have to perform p-value correction, like Bonferroni or FDR? In the case of an affirmative answer, which R package would be the best option to perform this task?

Thank you!

  • $\begingroup$ Look into the p.adjust() function in R. It has an option for conducting the Benjamini & Hochberg (or FDR) method to adjust for multiple comparisons. Assuming that's a procedure that is appropriate for your analysis. Another option would include using a volcano plot to compare the level of significance with the effect seen. $\endgroup$ – Ashe Nov 28 '16 at 21:56
  • $\begingroup$ Asking for software code / packages is off topic here. Your question about correcting for multiple correlations is on topic, but a duplicate. $\endgroup$ – gung - Reinstate Monica Nov 28 '16 at 23:13

Since you are doing multiple testing you need to correct for multiplicity. Besides the Bonferroni and FDR adjustment methods there are bootstrap and permutation methods to adjust p-values. There are ways to do these adjustments in SAS. I am not familiar with R functions that do this but someone else might be able to help you with that. I recommend the book Resampling Based Multiple Testing by Peter Westfall and Stanley Young for the theory and application of bootstrap and permutation methods for p-value adjustment.

  • $\begingroup$ Thank you very much for your answer! But... Considering that, in one case I have 126,025 correlations (355 genes x 365 genes), would it be biologically meaningfull to proceed the correction? I mean, using Bonferroni, for example, I will not have any significative result... I am dealing with large scale data and, in some cases, I have more than 6 thousands genes to analyze by correlation... $\endgroup$ – Raquel Calloni Nov 28 '16 at 21:49
  • 1
    $\begingroup$ Bonferroni is conservative and the adjusted value say by bootstrap could be closer to the correct value. But these adjustments are not intended to be used when you have 126,025 correlations! If you compute that many correlations there is a very good chance that you will find a high correlation estimate just by chance. I don't think that this is a good approach to your problem. $\endgroup$ – Michael R. Chernick Nov 28 '16 at 22:05

Not the answer you're looking for? Browse other questions tagged or ask your own question.