cov.from.dist {rwc} | R Documentation |
Create covariance matrix from a distance matrix
Description
This computes a covariance matrix from a squared-distance matrix using the centering method of Gower (1996). When the squared-distance matrix is a resistance distance matrix, or a variogram matrix from a spatial model, the resulting covariance matrix is the spatial covariance matrix corresponding to a random walk model for connectivity as in Hanks and Hooten (2013).
Usage
cov.from.dist(R)
Arguments
R |
A negative semi-definite matrix of squared differences. |
Value
A positive semi-definite covariance matrix, for which the variogram (or resistance distance) is equal to the input R matrix.
Author(s)
Ephraim M. Hanks
References
Hanks and Hooten 2013. Circuit theory and model-based inference for landscape connectivity. Journal of the American Statistical Association. 108(501), 22-33.
Gower 1996. Some distance properties of latent root and vector methods used in multivariate analysis. Biometrika 53(3), 325-338.
Examples
## create a Wishart covariance matrix with independent structure
Z=matrix(rnorm(10*20),ncol=20,nrow=10)
W=Z%*%t(Z)
## convert to resistance distance matrix
D=dist.from.cov(W)
## convert back to covariance matrix
C=cov.from.dist(D)
## compare C and W
max(abs(C-W))