Alexx Hardt wrote:
Hi,
I'm trying to write a function to determine the euclidean distance between x (one point) and y (a set of n points). How should I pass y to the function? Until now, I used a matrix like that:

|      [,1]  [,2]  [,3]
[1,]      0      2      1
[2,]      1      1      1
|

Which would pass the points (0,2,1) and (1,1,1) to that function.

However, when I pass x as a normal (column) vector, the two variables don't match in the function. I either have to transpose x or y, or save a vector of vectors an other way.

My question: What is the standard way to save more than one vector in R? (my matrix y)
Is it just my y transposed or maybe a list or something I don't yet know?

If all vectors are of the same type and length, a matrix is probably best. There are some obscure situations where it is more efficient to store them as columns rather than rows, but it rarely makes a detectable difference, so you should choose the orientation to match the way you plan to use the data.

I don't know how you are constructing x as a column vector. Normally vectors in R are neither columns nor rows: they just have a length.

So if your matrix y is as shown, y[1,] will give a plain vector that should be the same shape as x <- c(1,2,3).

Duncan Murdoch

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to