On 5/23/2007 7:40 AM, Mike White wrote: > I am trying to use Fisher's z' transformation of the Pearson's r but the > standard error does not appear to be correct. I have simulated an example > using the R code below. The z' data appears to have a reasonably normal > distribution but the standard error given by the formula 1/sqrt(N-3) (from > http://davidmlane.com/hyperstat/A98696.html) gives a different results than > sd(z). Can anyone tell me where I am going wrong?
Your simulation is very strange. Why are you calculating the correlation of data with its own mean? Here's a simpler simulation that seems to confirm the approximation is reasonable: > p <- 10 > sdx <- 1 > sdy <- 1 > x <- matrix(rnorm(1000*p, sd=sdx), 1000, p) > y <- matrix(rnorm(1000*p, mean=x, sd=sdy), 1000, p) The true correlation is sdx/sqrt(sdx^2 + sdy^2), i.e. 0.71. > r <- numeric(1000) > for (i in 1:1000) r[i] <- cor(x[i,], y[i,]) > f <- 0.5*(log(1+r) - log(1-r)) > sd(f) [1] 0.3739086 > 1/sqrt(p-3) [1] 0.3779645 > p <- 5 > x <- matrix(rnorm(1000*p, sd=sdx), 1000, p) > y <- matrix(rnorm(1000*p, mean=x, sd=sdy), 1000, p) > r <- numeric(1000) > for (i in 1:1000) r[i] <- cor(x[i,], y[i,]) > f <- 0.5*(log(1+r) - log(1-r)) > sd(f) [1] 0.6571383 > 1/sqrt(p-3) [1] 0.7071068 Duncan Murdoch ______________________________________________ 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.