apply(a,1,function(y)apply(a,1,function(x)dist(x,y)))
Robin Hankin <rksh <at> soc.soton.ac.uk> writes: : : Hi guys. Another thing I cannot vectorize: : : I have an array "a", of size 5-by-2, for example, of 5 2D vectors. I : also have a distance function that computes the distance between two : vectors (usual Euclidean distance is a good example but I have other metrics I : want to use as well). I want a 5-by-5 array with the [i,j]th element being : the distance from a[i,] to a[j,] : : To Wit: : : a <- matrix(1:10,5,2) : array <- matrix(NA, 5, 5) : dist <- function(x1,x2){sqrt(sum(x1-x2)^2)} : : #NONVECTORIZED BIT FOLLOWS : for(i in 1:5) { : for(j in 1:5) { : array[i,j] <- dist(a[i,] , a[j,]) : } : } : : (note that array[i,i]=0 for i=1:5 as expected). : : How to vectorize this? : ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html