[R] RE: Comparison of correlation coefficients - Details

From: <Christian.Stratowa_at_vie.boehringer-ingelheim.com>
Date: Wed 21 Jul 2004 - 21:19:59 EST

Dear all

I apologize for cross-posting, but first it is accepted custom to thank the repliers and give a summary, and second I have still the feeling that this problem might be a general statistical problem and not necessarily related to microarrays only, but I might be wrong.

First, I want to thank Robert Gentleman, Mark Kimpel and Mark Reiners for their kind replies. Robert Gentleman kindly pointed me to the Bioconductor package "MeasurementError.cor" as alternative to "cor.test". Mark Kimpel suggested that 2-way factorial Anova or the Bioconductor package "limma", respectively, may be helpful. Mark Reiners suggested to use the p-value of "cor.test" to test the significance.

Maybe, I miss the point, but being not a statistician I am still unsure if it is possible to compare correlation coefficients from different sample sets. Both, the p-values from "cor.test" and from "compcorr", could be used as measure of the significance. However, is it possible to "normalize" correlation coefficients from different sample sets? Could an expression such as "corr * (1 - pval)" be used for normalization? Maybe, it is not possible to normalize correlation coefficients?
Would a barplot comparing the correlation coefficients between two genes for different tissues be meaningful? (Alternatively, I have tried to use (1-pval) to calculate the gray-level of the bars.)

Any further suggestions would be appreciated very much.

Best regards
Christian Stratowa

-----Original Message-----
From: Stratowa,Dr.,Christian FEX BIG-AT-V Sent: Monday, July 19, 2004 15:00
To: 'bioconductor@stat.math.ethz.ch'
Subject: Comparison of correlation coefficients - Details

Dear all

Maybe, my last mail did not explain my problem correctly: Since we are interested, which genes have similar expression profiles in a certain tissue or in different tissues, we have calculated the correlation coefficients between all 46,000 x 46,000 genes of the HG_U133A/B chipset for about 70 tissues, where the number of samples per tissue ranges from 10 to more than 200.

While writing an R-function to display the correlation coefficients between gene A and B in the different tissues as bar-graph, I realized that it may not be correct to compare the different correlation coefficients directly, since the number of samples per tissue varyies between 10 and 200.

Thus, the question is: Is there a way to compare different correlation coefficients and/or apply some kind of normalization?

Assuming that this might be a well known statistical problem I was browsing statistics books and the web for more information, but could only find the function "compcorr" which gives a p-value how well you can trust the comparison of two correlation coefficients from different samples.

Even though this might currently not be a direct Bioconductor question, it is certainly a microarray analysis related question. Any suggestions how to solve this problem would be greatly appreciated.

Best regards
Christian Stratowa

-----Original Message-----
From: Stratowa,Dr.,Christian FEX BIG-AT-V Sent: Tuesday, July 13, 2004 14:40
To: 'bioconductor@stat.math.ethz.ch'
Subject: Comparison of correlation coefficients

Dear Bioconductor expeRts

Is it possible to compare correlation coefficients or to normalize different correlation coefficients?

Concretely, we have the following situation: We have gene expression profiles for different tissues, where the number of samples per tissue are different, ranging from 10 to 250. We are able to determine the correlation between two genes A and B for each tissue separately, using "cor.test". However, the question arises if the correlation coefficients between different tissues can be compared or if they must somehow be "normalized", since the number of samples per tissue varyies.

Searching the web I found the function "compcorr", see: http://www.fon.hum.uva.nl/Service/Statistics/Two_Correlations.html http://ftp.sas.com/techsup/download/stat/compcorr.html and implemented it in R:

compcorr <- function(n1, r1, n2, r2){
# compare two correlation coefficients
# return difference and p-value as list(diff, pval)

# Fisher Z-transform

	zf1 <- 0.5*log((1 + r1)/(1 - r1))
	zf2 <- 0.5*log((1 + r2)/(1 - r2))

# difference
dz <- (zf1 - zf2)/sqrt(1/(n1 - 3) + (1/(n2 - 3)))
# p-value
pv <- 2*(1 - pnorm(abs(dz))) return(list(diff=dz, pval=pv))


Would it make sense to use the resultant p-value to "normalize" the correlation coefficients, using: corr <- corr * compcorr()$pval

Is there a better way or an alternative to "normalize" the correlation coefficients obtained for different tissues?

Thank you in advance for your help.
Since in the company I am not subscribed to bioconductor-help, could you please reply to me (in addition to bioconductor-help)

P.S.: I have posted this first at r-help and it was suggested to me to post it here, too.

Best regards
Christian Stratowa

Christian Stratowa, PhD
Boehringer Ingelheim Austria
Dept NCE Lead Discovery - Bioinformatics Dr. Boehringergasse 5-11
A-1121 Vienna, Austria
Tel.: ++43-1-80105-2470
Fax: ++43-1-80105-2782
email: christian.stratowa@vie.boehringer-ingelheim.com

R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Wed Jul 21 21:27:52 2004

This archive was generated by hypermail 2.1.8 : Fri 18 Mar 2005 - 02:37:25 EST