Hi all, I use the following example to illustrate my question. As you can see, in matrix C some rows are repeated and I would like to find the indices of the rows corresponding to each of the distinct rows. For example, for the row c(1,9), I have used the "which" function to identify the row indices corresponding to c(1,9). Using this approach, in order to cover all distinct rows, I need to use a for loop. I am wondering whether there is an easier way where a for loop can be avoided? Thanks very much! Hanna
> A <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16),8,2)> B <- > rbind(A,A,A)> C <- as.data.frame(B[sample(nrow(B)),])> C V1 V2 1 1 9 2 2 10 3 3 11 4 5 13 5 7 15 6 6 14 7 4 12 8 3 11 9 8 16 10 5 13 11 7 15 12 2 10 13 1 9 14 8 16 15 1 9 16 3 11 17 7 15 18 4 12 19 2 10 20 6 14 21 4 12 22 8 16 23 5 13 24 6 14> T <- unique(C)> T V1 V2 1 1 9 2 2 10 3 3 11 4 5 13 5 7 15 6 6 14 7 4 12 9 8 16> > i <- 1 > which(C[,1]==T[i,1]& C[,2]==T[i,2])[1] 1 13 15 [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.