[R] return unique values from date/time class object

Prof Brian Ripley ripley at stats.ox.ac.uk
Tue Aug 16 08:50:31 CEST 2005


On Tue, 16 Aug 2005, McClatchie, Sam (PIRSA-SARDI) wrote:

> Background:
> OS: Linux Mandrake 10.1
> release: R 2.1.1
> editor: GNU Emacs 21.3.2
> front-end: ESS 5.2.3
> ---------------------------------
>
> Thanks to Brian Ripley (I've upgraded from source, thanks for the reminder)
> and Petr Pikal for their suggestions, but I have not made clear the form of
> my data:

You missed my comment about POSIXlt objects: convert to POSIXct first.
I can't reproduce your error messages, but

 	unique(as.POSIXct(new.time))

works for me.

>
> Browse[1]> ceduna[1:10,]
>                  LSD AVIATION_ID WND_DIR WND_SPD_MPS
> 1  1/01/2001 10:30:00        YCDU     230         4.6
> 2  1/01/2001 11:00:00        YCDU     210         4.1
> 3  1/01/2001 11:30:00        YCDU     230         6.7
> 4  1/01/2001 12:00:00        YCDU     230         7.7
> 5  1/01/2001 12:30:00        YCDU     220         8.2
> 6  1/01/2001 13:00:00        YCDU     210         7.2
> 7  1/01/2001 13:30:00        YCDU     210         7.2
> 8  1/01/2001 14:00:00        YCDU     200         6.7
> 9  1/01/2001 14:30:00        YCDU     190         7.7
> 10 1/01/2001 15:00:00        YCDU     200         8.2
> Browse[1]> class(ceduna)
> [1] "data.frame"
> Browse[1]>  x <- as.character(ceduna$LSD)
> Browse[1]>     new.time <- strptime(x, "%d/%m/%Y %H:%M:%S")
> Browse[1]> class(new.time)
> [1] "POSIXt"  "POSIXlt"
> Browse[1]> unique(new.time)
> Error in unique.default(new.time) : unique() applies only to vectors
> Browse[1]> tt <- new.time[!duplicated(unclass(new.time))]
> Error in duplicated.default(unclass(new.time)) :
> 	duplicated() applies only to vectors
> Browse[1]>
>
> I'm obviously doing something silly with the data classes, but what?

-- 
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 mailing list