Fisher.Z <- function(x, inverse = FALSE) { ## Purpose: Fisher's Z Transform (application to correlation confidence interval) ## Arguments: ## x: a positive numeric vector ## inverse: if TRUE, do the inverse transform. ## Return: a transformed (or back-transformed) vector ## Author: Feiming Chen ## ________________________________________________ if (inverse) { y <- tanh(x) ## equivalent to the following: ## e <- exp(2 * x) ## y <- (e - 1) / (e + 1) } else { y <- atanh(x) ## equivalent to the following: ## y <- 1/2 * log((1 + x) / (1 - x)) } y } if (F) { # Unit Test Fisher.Z(0.8) # 1.0986 Fisher.Z(1.2, inverse = TRUE) # 0.83365 x <- rbeta(10, 1, 1) # simulate correlations Fisher.Z(x) Fisher.Z(x, inverse = TRUE) all.equal(x, Fisher.Z(Fisher.Z(x), inverse = TRUE)) # TRUE }
Thursday, April 29, 2021
Fisher's Z Transform
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment