Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

dist.xyz

Calculate the Distances Between the Rows of Two Matrices


Description

Compute the pairwise euclidean distances between the rows of two matrices.

Usage

dist.xyz(a, b = NULL, all.pairs=TRUE, ncore=1, nseg.scale=1)

Arguments

a

a ‘xyz’ object, numeric data matrix, or vector.

b

an optional second ‘xyz’ object, data matrix, or vector.

all.pairs

logical, if TRUE all pairwise distances between the rows of ‘a’ and all rows of ‘b’ are computed, if FALSE only the distances between coresponding rows of ‘a’ and ‘b’ are computed.

ncore

number of CPU cores used to do the calculation. ncore>1 requires package ‘parallel’ installed.

nseg.scale

split input data into specified number of segments prior to running multiple core calculation. See fit.xyz.

Details

This function returns a matrix of euclidean distances between each row of ‘a’ and all rows of ‘b’. Input vectors are coerced to three dimensional matrices (representing the Cartesian coordinates x, y and z) prior to distance computation. If ‘b’ is not provided then the pairwise distances between all rows of ‘a’ are computed.

Value

Returns a matrix of pairwise euclidean distances between each row of ‘a’ and all rows of ‘b’.

Note

This function will choke if ‘b’ has too many rows.

Author(s)

Barry Grant

References

Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.

See Also

Examples

dist.xyz( c(1,1,1, 3,3,3), c(3,3,3, 2,2,2, 1,1,1))
 dist.xyz( c(1,1,1, 3,3,3), c(3,3,3, 2,2,2, 1,1,1), all.pairs=FALSE)

bio3d

Biological Structure Analysis

v2.4-2
GPL (>= 2)
Authors
Barry Grant [aut, cre], Xin-Qiu Yao [aut], Lars Skjaerven [aut], Julien Ide [aut]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.