See the help page for order. It has a similar example, and the general solution is to use xtfrm, not unclass.

On Mon, 14 Feb 2011, jim holtman wrote:

'unclass' it first(assuming that it is POSIXct)

-unclass(mytime)

On Mon, Feb 14, 2011 at 3:55 AM, JonC <jon_d_co...@yahoo.co.uk> wrote:

I have a problem ordering by descending magnitude a POSIXt object. Can
someone help please and let me know how to work around this. My goal is to
be able to order my data by DATE and then by descending TIME.

I have tried to include as much info as possible below. The problem stems
from trying to read in times from a CSV file. I have converted the character
time values to a POSIXt object using the STRPTIME function. I would like
ideally to sort using the order function as below.

test.sort <- order(test$DATE, -test$mytime)

However, when I try this I receive the error as below :

Error in `-.POSIXt`(test2$mytime) :
 unary '-' is not defined for "POSIXt" objects

To make this easier to understand I have pasted my example data below with a
list of R commands I have used. Any help or assistance would be appreciated.

test2 <- read.csv("C:/Documents and Settings/Jonathan Cooke/My
Documents/Downloads/test2.csv", sep=",")
test2
       DATE     TIME
1 18/01/2011 08:00:01
2 18/01/2011 08:10:01
3 18/01/2011 08:20:01
4 18/01/2011 08:30:01
5 19/01/2011 08:00:01
6 19/01/2011 08:10:01
7 19/01/2011 08:20:01
8 19/01/2011 08:30:01

test2$mytime <- strptime(test2$TIME,"%H:%M:%S")
test2$mytime
[1] "2011-02-14 08:00:01" "2011-02-14 08:10:01" "2011-02-14 08:20:01"
"2011-02-14 08:30:01" "2011-02-14 08:00:01"
[6] "2011-02-14 08:10:01" "2011-02-14 08:20:01" "2011-02-14 08:30:01"

test2
       DATE     TIME              mytime
1 18/01/2011 08:00:01 2011-02-14 08:00:01
2 18/01/2011 08:10:01 2011-02-14 08:10:01
3 18/01/2011 08:20:01 2011-02-14 08:20:01
4 18/01/2011 08:30:01 2011-02-14 08:30:01
5 19/01/2011 08:00:01 2011-02-14 08:00:01
6 19/01/2011 08:10:01 2011-02-14 08:10:01
7 19/01/2011 08:20:01 2011-02-14 08:20:01
8 19/01/2011 08:30:01 2011-02-14 08:30:01

test2.sort <- order(test2$DATE, -test2$mytime)
Error in `-.POSIXt`(test2$mytime) :
 unary '-' is not defined for "POSIXt" objects

It's at this stage where I have got stuck as I'm new to R and don't yet know
a way of getting around this error. Thanks in advance.

JonC









--
View this message in context: 
http://r.789695.n4.nabble.com/how-to-order-POSIXt-objects-tp3304609p3304609.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org 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.




--
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?

______________________________________________
R-help@r-project.org 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.


--
Brian D. Ripley,                  rip...@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
______________________________________________
R-help@r-project.org 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