DescTools (version 0.99.14)

FisherZ: Fisher r to z and z to r and confidence intervals

Description

Convert a correlation to a z score or z to r using the Fisher transformation or find the confidence intervals for a specified correlation.

Usage

FisherZ(rho)
FisherZInv(z)
CorCI(rho, n, conf.level = 0.95, alternative = c("two.sided", "less", "greater"))

Arguments

rho
the Pearson's correlation coefficient
z
a Fisher z transformed value
n
sample size used for calculating the confidence intervals
alternative
is a character string, one of "greater", "less", or "two.sided", or the initial letter of each, indicating the specification of the alternative hypothesis. "greater" corresponds to positive ass
conf.level
confidence level for the returned confidence interval, restricted to lie between zero and one.

Value

  • z value corresponding to r (in FisherZ) r corresponding to z (in FisherZInv) rho, lower and upper confidence intervals (CorCI)

Details

The sampling distribution of Pearson's r is not normally distributed. Fisher developed a transformation now called "Fisher's z-transformation" that converts Pearson's r's to the normally distributed variable z'. The formula for the transformation is: $$z_r = tanh^{-1} = \frac{1}{2}log\left ( \frac{1+r}{1-r}\right )$$

See Also

cor.test

Examples

Run this code
cors <- seq(-.9, .9, .1)

zs <- FisherZ(cors)
rs <- FisherZInv(zs)
round(zs, 2)
n <- 30
r <- seq(0, .9, .1)
rc <- t(sapply(r, CorCI, n=n))
t <- r * sqrt(n-2) / sqrt(1-r^2)
p <- (1 - pt(t, n-2)) / 2

r.rc <- data.frame(r=r, z=FisherZ(r), lower=rc[,2], upper=rc[,3], t=t, p=p)

round(r.rc,2)

Run the code above in your browser using DataCamp Workspace