[R] Tagging identical rows of a matrix

Scott Waichler scott.waichler at pnl.gov
Fri May 14 20:40:05 CEST 2004


I would like to generate a vector having the same length
as the number of rows in a matrix.  The vector should contain
an integer indicating the "group" of the row, where identical
matrix rows are in a group, and a unique row has a unique integer.
Thus, for

a <- c(1,2)
b <- c(1,3)
c <- c(1,2)
d <- c(1,2)
e <- c(1,3)
f <- c(2,1)
mat <- rbind(a,b,c,d,e,f)

I would like to get the vector c(1,2,1,1,2,3).  I know dist() gives
part of the answer, but I can't figure out how to use it for
this purpose without doing a lot of looping.  I need to apply this
to matrices up to ~100000 rows.

Thanks,
Scott Waichler
Pacific Northwest National Laboratory
scott.waichler_at_pnl.gov




More information about the R-help mailing list