From: Paul Hewson <paul.hewson_at_plymouth.ac.uk>

Date: Wed 27 Sep 2006 - 15:40:09 GMT

R-help@stat.math.ethz.ch 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.

R-help@stat.math.ethz.ch 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. Received on Thu Sep 28 01:54:39 2006

Date: Wed 27 Sep 2006 - 15:40:09 GMT

Marc,

Off the top my head (i.e. this could all be horribly wrong), I think Anderson gave an asymptotic version for such a test, whereby under the null hypothesis, the difference between Fisher's z for each sample, z1 - z2, is normal with zero mean. If I recall correctly, the 1984 edition gave a test statistic something like:

$\frac{\vert z_{1} - z_{2} \rvert}{ \sqrt{\frac{1}{N_{1} - 3} + \frac{1}{N_{2} - 3}}}$,

as the test. I ***think*** N = n+1. Assuming that part is correct, it can be coded up quite simply (and crudely and hopefully correctly) as:

## estimate Fisher's z for the sample

fishz <- function(x1,x2){

r <- cor(x1,x2)

z <- 0.5 * log( (1+r)/(1-r) )

}

## apply the correlation test

cortest <- function(x1,x2,x3,x4){

numer <- abs(fishz(x1,x2) - fishz(x3,x4) )
denom <- sqrt( 1/( length(x1) - 2) + 1/( length(x2) - 2) )
test.stat <- numer / denom

return(test.stat)

}

A quick demo with some simulated data:

require(MASS)

X1 <- mvrnorm(1000, c(0,0), matrix(c(1,0.7,0.7,1),2,2))
X2 <- mvrnorm(1000, c(0,0), matrix(c(1,0.9,0.9,1),2,2))

cortest(X1[,1], X1[,2], X2[,1], X2[,2])

Is above 1.96 indicating they are different

X2 <- mvrnorm(1000, c(0,0), matrix(c(1,0.7,0.7,1),2,2)) cortest(X1[,1], X1[,2], X2[,1], X2[,2])

Is below 1.96 indicating they are not different. All that needs to be done for these pair is to get the pooled estimate of the populations Fisher's z $ \frac{ (N_{1} - 3)z_{1} + (N_{2} - 3)z_{2}}{N_{1} + N_{2} - 6}$ and solve fisher's z to get an estimate of rho.

Just dabbling around with this suggests either I've missed something, or that we need quite a large sample size before the asymptotics are any use. If this is of any use I'll double check on N.

Paul

-=-=-=-=-=-=-=-=-=-=-=-=

Paul Hewson

Lecturer in Statistics

School of Mathematics and Statistics

University of Plymouth

Drake Circus

Plymouth PL4 8AA

tel (01752) 232778 (Campus) tel (01752) 764437 (Tamar Science Park) fax (01752) 232780

email: paul.hewson@plymouth.ac.uk

web: http://www.plymouth.ac.uk/staff/phewson
-=-=-=-=-=-=-=-=-=-=-=-=

I wonder if there is any implemented statistical test in R to test
the equality between many correlations. As an example, let X1, X2, X3
X4 be four random variables. let

Phi(X1,X2) , Phi(X1,X3) and Phi(X1,X4) be the corresponding
correlations.

How to test Phi(X1,X2) = Phi(X1,X3) = P(X1,X4)?

Many thanks in advance,

Bernard

[[alternative HTML version deleted]]

R-help@stat.math.ethz.ch 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.

R-help@stat.math.ethz.ch 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. Received on Thu Sep 28 01:54:39 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Thu 28 Sep 2006 - 10:30:07 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*