[R] which element is duplicated?

Pages, Herve hp@ge@ @ending from fredhutch@org
Tue Nov 13 06:35:19 CET 2018


Hi,

On 11/12/18 17:08, Duncan Murdoch 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?

I generally use match() for that:

 > v <- c("a", "b", "b", "a")

 > match(v, v)

[1] 1 2 2 1

H.

>
> Duncan Murdoch
>
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dhelp&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=APEsp-OzJs6YdfshtiYe715BsAor8xTu26lpN4KGOrU&s=opxT_5og2YaWKdiXD-cRz0gWxGGMRG6kq20Jo8711qA&e= 
>
> PLEASE do read the posting guide 
> https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwICAg&c=eRAMFD45gAfqt84VtBcfhQ&r=BK7q3XeAvimeWdGbWY_wJYbW0WYiZvSXAJJKaaPhzWA&m=APEsp-OzJs6YdfshtiYe715BsAor8xTu26lpN4KGOrU&s=ZaPnASTzuEmE8EHqFL6F5wYkPhhg_uv-CMrGjY2-_Q4&e=
> and provide commented, minimal, self-contained, reproducible code.

-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages using fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the R-help mailing list