[R] unique deletes names - intended?
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Jul 5 12:04:28 CEST 2006
On Tue, 4 Jul 2006, Heinz Tuechler wrote:
> Dear All,
> as shown in the example, unique() deletes names of vector elements.
> Is this intended?
Yes. Think of the vector as a set: it is supposed to immaterial which of
the duplicated elements is retained.
The help page says
An object of the same type of 'x'. but if an element is equal to
one with a smaller index, it is removed.
so it is starting with a new object, not 'x'. However, the array method
works differently, so the documentation needs clarification.
> Of course, one can use indexing by !duplicated() instead.
Be careful, as you might get a method for [ and that might not do want you
intended (e.g. for a time series).
> ## unique deletes names
> v1 <- c(a=1, b=2, c=3, e=2, a=4)
> unique(v1) # names deleted
> v1[!duplicated(v1)] # names preserved
> platform i386-pc-mingw32
> arch i386
> os mingw32
> system i386, mingw32
> status Patched
> major 2
> minor 3.1
> year 2006
> month 07
> day 01
> svn rev 38471
> language R
> version.string Version 2.3.1 Patched (2006-07-01 r38471)
> R-help at stat.math.ethz.ch mailing list
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help