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
