On 08/01/2014 16:23, Bert Gunter wrote:> Is the following a bug?
> ##(R version 3.0.2 (2013-09-25)
> ## Platform: i386-w64-mingw32/i386 (32-bit))
>
>
> d <- data.frame(a=rep(letters[1:3],4:6))
> rle(d$a)
> ##Error in rle(d$a) : 'x' must be an atomic vector
>
> is.atomic(d$a)
> ##[1] TRUE
But
> is.vector(d$a)
[1] FALSE
The discrepancies in what a 'vector' is in R are very long standing, but
a factor is not a vector.
> rle(c(d$a))
That loses the class and other attributes, giving a vector.
> ## Run Length Encoding
> ## lengths: int [1:3] 4 5 6
> ## values : int [1:3] 1 2 3
>
> Cheers,
> Bert
>
> Bert Gunter
> Genentech Nonclinical Biostatistics
> (650) 467-7374
--
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