is.euclid {ade4}R Documentation

Is a Distance Matrix Euclidean ?

Description

Confirmation of the Euclidean nature of a distance matrix by the Gower's theorem.
is.euclid is used in summary.dist.

Usage

is.euclid(distmat, plot = FALSE, print = FALSE, tol = 1e-07)
## S3 method for class 'dist':
summary(object, ...)

Arguments

distmat an object of class 'dist'
plot a logical value indicating whether the eigenvalues bar plot of the matrix of the term -1/2 dij² centred by rows and columns should be diplayed
print a logical value indicating whether the eigenvalues of the matrix of the term -1/2 dij² centred by rows and columns should be printed
tol a tolerance threshold : an eigenvalue is considered positive if it is larger than -tol*lambda1 where lambda1 is the largest eigenvalue.
object an object of class 'dist'
... further arguments passed to or from other methods

Value

returns a logical value indicating if all the eigenvalues are positive or equal to zero

Author(s)

Daniel Chessel
Stéphane Dray dray@biomserv.univ-lyon1.fr

References

Gower, J.C. and Legendre, P. (1986) Metric and Euclidean properties of dissimilarity coefficients. Journal of Classification, 3, 5–48.

Examples

w <- matrix(runif(10000), 100, 100)
w <- dist(w)
summary(w)
is.euclid (w) # TRUE
w <- quasieuclid(w) # no correction need in: quasieuclid(w)
w <- lingoes(w) # no correction need in: lingoes(w)
w <- cailliez(w) # no correction need in: cailliez(w)
rm(w)

Worked out examples


> library(ade4)
> ### Name: is.euclid
> ### Title: Is a Distance Matrix Euclidean ?
> ### Aliases: is.euclid summary.dist
> ### Keywords: array
> 
> ### ** Examples
> 
> w <- matrix(runif(10000), 100, 100)
> w <- dist(w)
> summary(w)
Class: dist 
Distance matrix by lower triangle : d21, d22, ..., d2n, d32, ...
Size: 100 
Labels: 
call: dist(x = w)
method: euclidean 
Euclidean matrix (Gower 1966): TRUE 
> is.euclid (w) # TRUE
[1] TRUE
> w <- quasieuclid(w) # no correction need in: quasieuclid(w)
> w <- lingoes(w) # no correction need in: lingoes(w)
> w <- cailliez(w) # no correction need in: cailliez(w)
> rm(w)
> 
> 
> 
> 

[Package ade4 Index]