?duplicated will help. M
On Dec 27, 2012, at 8:17 PM, Emmanuel Levy <emmanuel.l...@gmail.com> wrote: > Hi, > > That sounds simple but I cannot think of a really fast way of getting > the following: > > c(1,1,2,2,3,3,4,4) would give c(1,3,5,7) > > i.e., a function that returns the indexes of the first occurrences of numbers. > > Note that numbers may have any order e.g., c(3,4,1,2,1,1,2,3,5), can > be very large, and the vectors are also very large (which prohibits > any loop). > > The best I could think of is: > > tmp = c(1,1,2,2,3,3,4,4) > u = unique(tmp) > sapply(u, function(x){ which(!is.na(match(tmp,x)))[1]} ) > > But there might be a useful function I don't know .. > > Thanks for any hint. > All the best, > > Emmanuel > > ______________________________________________ > 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. ______________________________________________ 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.