fdrtool (version 1.2.17)

dcor0: Distribution of the Vanishing Correlation Coefficient (rho=0) and Related Functions

Description

The above functions describe the distribution of the Pearson correlation coefficient r assuming that there is no correlation present (rho = 0).

Note that the distribution has only a single parameter: the degree of freedom kappa, which is equal to the inverse of the variance of the distribution.

The theoretical value of kappa depends both on the sample size n and the number p of considered variables. If a simple correlation coefficient between two variables (p=2) is considered the degree of freedom equals kappa = n-1. However, if a partial correlation coefficient is considered (conditioned on p-2 remaining variables) the degree of freedom is kappa = n-1-(p-2) = n-p+1.

Usage

dcor0(x, kappa, log=FALSE)
pcor0(q, kappa, lower.tail=TRUE, log.p=FALSE)
qcor0(p, kappa, lower.tail=TRUE, log.p=FALSE)
rcor0(n, kappa)

Arguments

x,q

vector of sample correlations

p

vector of probabilities

kappa

the degree of freedom of the distribution (= inverse variance)

n

number of values to generate. If n is a vector, length(n) values will be generated

log, log.p

logical vector; if TRUE, probabilities p are given as log(p)

lower.tail

logical vector; if TRUE (default), probabilities are \(P[R <= r]\), otherwise, \(P[R > r]\)

Value

dcor0 gives the density, pcor0 gives the distribution function, qcor0 gives the quantile function, and rcor0 generates random deviates.

Details

For density and distribution functions as well as a corresponding random number generator of the correlation coefficient for arbitrary non-vanishing correlation rho please refer to the SuppDists package by Bob Wheeler bwheeler@echip.com (available on CRAN). Note that the parameter N in his dPearson function corresponds to N=kappa+1.

See Also

cor.

Examples

Run this code
# NOT RUN {
# load fdrtool library
library("fdrtool")

# distribution of r for various degrees of freedom
x = seq(-1,1,0.01)
y1 = dcor0(x, kappa=7)
y2 = dcor0(x, kappa=15)
plot(x,y2,type="l", xlab="r", ylab="pdf",
  xlim=c(-1,1), ylim=c(0,2))
lines(x,y1)

# simulated data
r = rcor0(1000, kappa=7)
hist(r, freq=FALSE, 
  xlim=c(-1,1), ylim=c(0,5))
lines(x,y1,type="l")

# distribution function
pcor0(-0.2, kappa=15)
# }

Run the code above in your browser using DataCamp Workspace