return unique values from date/time class object
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