[R] detect repeated number in a vector

liujb liujulia7 at yahoo.com
Wed Oct 8 22:53:22 CEST 2008


Duncan,

Thank you so much. It is exactly what I was looking for. However, for some
reason, indices() does not work ("Error: could not find function "indices").
I used which(), it worked. 

Thanks again for the help,
Julia



Duncan Murdoch-2 wrote:
> 
> On 08/10/2008 2:36 PM, liujb wrote:
>> Dear R users,
>> 
>> I have this vector that consists numeric numbers. Is there a command that
>> detects the repeated numbers in a vector and returns the index of the
>> repeated numbers (or the actual numbers)? For example, v <- c(3,4,5,7,4).
>> The command would return me index 2 and 5 (or the repeated number, 4).
> 
> duplicated() comes close, but the first occurence doesn't count as a 
> duplication:
> 
>  > duplicated(v)
> [1] FALSE FALSE FALSE FALSE  TRUE
> 
> To convert into values, you can index v by it:
> 
>  > v[duplicated(v)]
> [1] 4
> 
> and to find which indices are duplicated,
> 
>  > indices <- seq_along(v)
>  > indices[duplicated(v)]
> [1] 5
> 
> If you really want to include the the first one, you can do something
> like:
> 
>  > indices[ v %in% v[duplicated(v)] ]
> [1] 2 5
> 
> 
> Duncan Murdoch
> 
> ______________________________________________
> R-help at 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.
> 
> 

-- 
View this message in context: http://www.nabble.com/detect-repeated-number-in-a-vector-tp19884768p19887359.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list