I assume the dates are strings.  If they are factors use 
as.character(date) in place of date below.  str(date) will
tell you what you have.

It so happens that chron maps dates in your format to days 
since an origin (which sort properly) so you could try this:

require(chron)
z <- tapply( var1, date, mean )
z[order(chron(names(z)))]

Note that date() is a function in R so you might want to
choose a different variable name to prevent confusion.


Date:   Mon, 02 Feb 2004 16:16:13 -0600 
From:   Jeff Jorgensen <[EMAIL PROTECTED]>
To:   <[EMAIL PROTECTED]> 
Subject:   [R] sorting by date 

 
Hello,

I have set up a data.frame and one of the columns contains a date of the 
form (with slashes as separators):

mm/dd/yyyy

I would like to use formulas on other columns in the data.frame organized 
by date, for example:

tapply(var1, sort(date), mean)

However, when I try sort(date) it sorts based on the first two entries in 
the date field:

9/1/2001     9/1/2002     9/1/2003     9/2/2001 ...
5.6          7.5          6.4          7.0 ...

Instead of:

9/1/2001     9/2/2001     9/3/2001     9/4/2001 ...
5.6          6.1          7.2          6.8 ...

I would greatly appreciate any help in sorting chronologically. Do I need 
to create separate columns for month, day, and year, and then use order() 
and then stipulate the hierarchy for which to sort the output? Or, is 
there some other more efficient way?

Thanks,

Jeff

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to