Programmer Guide/Command Reference/EVAL/dist: Difference between revisions

From STX Wiki
Jump to navigationJump to search
(initial import)
 
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
{{DISPLAYTITLE:{{SUBPAGENAME}}}}
=====dist=====
Compute the distance or distance-matrix.
----
;Usage 1:
:<code>dist(''x''<sub>scalar</sub>, ''y''<sub>scalar</sub>)</code>
:<code>dist(''x''<sub>vector</sub>, ''y''<sub>vector</sub>)</code>
;Result 1: The euclidan distance ''d''<sub>scalar</sub> of ''x'' and ''y''. The two arguments must be scalars or vectors with the same length.
----
;Usage 2:
:<code>dist(''x''<sub>vector</sub>)</code>
:<code>dist(''x''<sub>matrix</sub>)</code>
;Result 2: The matrix ''d'' with the euclidian distances of all elements or row vectors of ''x''. The result is a matrix with <code>nrow(''x'')</code> rows and columns.
:{|class="keinrahmen"
|''x''<sub>vector</sub> ||&rarr; ''d''[i,j] = dist(''x''[i], ''x''[j])
|-
|''x''<sub>matrix</sub> ||&rarr; ''d''[i,j] = dist(''x''[i,*], ''x''[j,*])
|-
| || with: i,j = 0 .. <code>ncol(''x'')</code>
|}
----
;Usage 3:
:<code>dist(''x''<sub>vector</sub>, ''y''<sub>scalar</sub>)</code>
:<code>dist(''x''<sub>matrix</sub>, ''y''<sub>vector</sub>)</code>
;Result 3: The vector ''d'' with the euclidian distances of all elements or row vectors of ''x'' to ''y''. The result is a vector with <code>nrow(''x'')</code> rows and columns.
:{|class="keinrahmen"
|''x''<sub>vector</sub>,''y''<sub>scalar</sub> ||&rarr; ''d''[i] = dist(''x''[i], ''y'')
|-
|''x''<sub>matrix</sub>,''y''<sub>vector</sub> ||&rarr; ''d''[i,j] = dist(''x''[i,*], ''y'')  (<code>ncol(''x'')</code> must be equal to <code>nrow(''y'')</code>!)
|-
| || with: i = 0 .. <code>ncol(''x'')</code>
|}
----
;Usage 4:
:<code>dist(''x''<sub>matrix</sub>, ''flag'')</code>
;Result 4: The matrix ''d'' with the euclidian distances of the row vectors (''flag''='''0''') or column vectors (''flag''='''1''') or ''x''.
:{|class="keinrahmen"
|''flag''=0 ||&rarr; ''d''[i,j] = dist(''x''[i,*], ''x[j,*]'') ||, with: i,j = 0 .. <code>nrow(''x'')</code>
|-
|''flag''=1 ||&rarr; ''d''[i,j] = dist(''x''[*,i], ''x[*,j]'') ||, with: i,j = 0 .. <code>ncol(''x'')</code>
|}
----
;See also: [[../var|var]], [[../corr|corr]], [[../haclust|haclust]]


Calculate the distance matrix for all elements in the vector <var>x</var> or for all row vectors in the matrix <var>x</var>. I.e. d(i,j) = distance (<var>x</var>[i,*], <var>x</var>[j,*]). This is a subcommand of the <code>[[Programmer Guide/Command Reference/EVAL/EVAL|EVAL]]</code> command.
[[../#Functions|<function list>]]
 
=====Usage:=====
 
<code>dist(<var>x</var>)</code>
 
=====Return Type:=====
 
matrix
 
Calculate the Euclidean distance from <var>x</var> to <var>y</var>. Both arguments must be either scalars or vectors.
 
=====Usage:=====
 
<code>dist(<var>x</var>, <var>y</var>)</code>
 
=====Return Type:=====
 
scalar
 
Calculate the Euclidean distances between all elements of <var>x</var>v or all row vectors of <var>x</var>m to the value <var>y</var>s or the vector <var>y</var>v. The result is a vector with x[!nrow] elements.
 
=====Usage:=====
 
<code>dist(<var>xv,ys</var>)</code>
 
<code>dist(<var>x</var>m, <var>y</var>v)</code>
 
=====Return Type:=====
 
vector

Latest revision as of 19:23, 21 April 2011

Compute the distance or distance-matrix.


Usage 1
dist(xscalar, yscalar)
dist(xvector, yvector)
Result 1
The euclidan distance dscalar of x and y. The two arguments must be scalars or vectors with the same length.

Usage 2
dist(xvector)
dist(xmatrix)
Result 2
The matrix d with the euclidian distances of all elements or row vectors of x. The result is a matrix with nrow(x) rows and columns.
xvector d[i,j] = dist(x[i], x[j])
xmatrix d[i,j] = dist(x[i,*], x[j,*])
with: i,j = 0 .. ncol(x)

Usage 3
dist(xvector, yscalar)
dist(xmatrix, yvector)
Result 3
The vector d with the euclidian distances of all elements or row vectors of x to y. The result is a vector with nrow(x) rows and columns.
xvector,yscalar d[i] = dist(x[i], y)
xmatrix,yvector d[i,j] = dist(x[i,*], y) (ncol(x) must be equal to nrow(y)!)
with: i = 0 .. ncol(x)

Usage 4
dist(xmatrix, flag)
Result 4
The matrix d with the euclidian distances of the row vectors (flag=0) or column vectors (flag=1) or x.
flag=0 d[i,j] = dist(x[i,*], x[j,*]) , with: i,j = 0 .. nrow(x)
flag=1 d[i,j] = dist(x[*,i], x[*,j]) , with: i,j = 0 .. ncol(x)

See also
var, corr, haclust

<function list>

Navigation menu

Personal tools