> match(v, unique(v)) [1] 1 2 2 1 Bert Gunter
"The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Mon, Nov 12, 2018 at 5:08 PM Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > The duplicated() function gives TRUE if an item in a vector (or row in a > matrix, etc.) is a duplicate of an earlier item. But what I would like > to know is which item does it duplicate? > > For example, > > v <- c("a", "b", "b", "a") > duplicated(v) > > returns > > [1] FALSE FALSE TRUE TRUE > > What I want is a fast way to calculate > > [1] NA NA 2 1 > > or (equally useful to me) > > [1] 1 2 2 1 > > The result should have the property that if result[i] == j, then v[i] == > v[j], at least for i != j. > > Does this already exist somewhere, or is it easy to write? > > Duncan Murdoch > > ______________________________________________ > 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. > [[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.