cor0.estimate.kappa {GeneTS}R Documentation

Estimating the Degree of Freedom of the Null Distribution of the Correlation Coefficient


cor0.estimate.kappa estimates the degree of freedom kappa in the null-distribution of the correlation coefficient (i.e. assuming that rho=0).

According to Fisher's rule kappa = round(1/var(z) + 2) the degree of freedom can be estimated from the variance of the z-transformed sample correlations.

Maximum-likelihood estimates of the degree of freedom is obtained on the basis of the null distribution of the sample correlation coefficient (i.e. assuming rho = 0) using method="likelihood". This results almost always in the same estimate of kappa as with the simple Fisher's rule.

If method="robust" then the variance employed in Fisher's rule is estimated using the Huber M-estimate of the scale. This is useful if the null-distribution is slightly "contaminated".

The degree of freedom kappa depends both on the sample size N and the number G of investigated variables, i.e. whether simple or partial correlation coefficients are being considered. For G=2 (simple correlation coefficient) the degree of freedom equals kappa = N-1, whereas for arbitrary G (with G-2 variables eliminated in the partial correlation coefficient) kappa = N-G+1 (see also dcor0 and kappa2N).

If the empirical sampling distribution is a mixture distribution then use of cor0.estimate.kappa may not be appropriate; instead may be used.


cor0.estimate.kappa(r, method=c("fisher", "likelihood", "robust"), MAXKAPPA=5000, w=1.0)


r vector of sample correlations (assumed true value of rho=0)
method use Fisher's rule (fisher), optimize likelihood function of null distribution (likelihood), or use Fisher's rule with robust estimate of variance (robust),
MAXKAPPA upper bound for the estimated kappa (default: MAXKAPPA=5000); only for likelihood estimate
w winsorize at `w' standard deviations; only for robust estimate


The estimated degree of freedom kappa.


Juliane Schaefer ( and Korbinian Strimmer (

See Also

dcor0, z.transform, hubers, kappa2N,


# load GeneTS library

# distribution of r for kappa=7
x <- seq(-1,1,0.01)
y <- dcor0(x, kappa=7)

# simulated data
r <- rcor0(1000, kappa=7)
hist(r, freq=FALSE, 
  xlim=c(-1,1), ylim=c(0,5))

# estimate kappa

[Package GeneTS version 2.3 Index]