Hi there,

I am sure there is a better way to do it, but here is a suggestion:

res <- matrix(NA, ncol = 2, nrow = 5)
for(i in 1:5) res[i, ] <- which(as.matrix(d) == sort(d)[i], arr.ind =
TRUE)[1,]
res

HTH,
Jorge


On Wed, Jun 9, 2010 at 11:30 PM, Jeff08 <> wrote:

>
> Dear R Gurus,
>
> As you probably know, dist calculates the distance between every two rows
> of
> data. What I am interested in is the actual two rows that have the least
> distance between them, rather than the numerical value of the distance
> itself.
>
> For example, If the minimum distance in the following sample run is d[14],
> which is .3826119, and the rows are 4 & 6. I need to find a generic way to
> retrieve these rows, for a generic matrix of NRows (in this example
> NRows=7)
>
> NCols=5
> NRows=7
> myMat<-matrix(runif(NCols*NRows), ncol=NCols)
>
> d<-dist(myMat)
>
>          1         2         3         4         5         6
> 2 0.7202138
> 3 0.7866527 0.9052319
> 4 0.6105235 1.0754259 0.8897555
> 5 0.5032729 1.0789359 0.9756421 0.4167131
> 6 0.6007685 0.6949224 0.3826119 0.7590029 0.7994574
> 7 0.9751200 1.2218754 1.0547197 0.5681905 0.7795579 0.8291303
>
> e<-sort.list(d)
> e<-e[1:5]  ##Retrieve minimum 5 distances
>
> [1] 14 16  4 18  5
> --
> View this message in context:
> http://r.789695.n4.nabble.com/Retrieving-the-2-row-of-dist-computations-tp2249844p2249844.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@r-project.org 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.
>

	[[alternative HTML version deleted]]

