On 06/09/2012 6:48 AM, Michael Bach wrote:
Dear R Users and Developers,

I am trying to do the equivalent of

v <- c(1,2,3,3,2,1,)
vu <- unique(v)

for a vector such as

v2 <- c(1.02, 2.03, 1.00, 3.04, 3.06)
vut <- ...

As indicated in the subject, we need approximately unique values with a defined
tolerance, i.e. for the v2 vector the resulting vut vector using a tolerance of
.1 should return e.g.

[1] 1.02 2.03 3.06

Also, mean/min values instead of max could be returned.

My actual question: Is there a convenience function or other mechanism already
implemented that could do something similar?

It might be enough to round your values before checking.  For the example,

dups <- duplicated( round(v2) )
v2[!dups]

(This gives 3.04 rather than 3.06; I don't know if you care.)

Duncan Murdoch

______________________________________________
[email protected] 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.

Reply via email to