Geoffrey: There may be something for this in one of the packages dealing with dates.
If not, here's one (incomplete) idea, based on something I used for a similar issue a little while ago. Essentially, make a data frame that ranks each weekday over a period in ascending order. This data frame could then be merged in with your data set, with the difference between the "date_num" values for any two dates equalling the number of weekdays between them. start.date <- as.Date("2006-01-27") end.date <- as.Date("2007-08-27") date.list <- seq(from=start.date, to=end.date, by="day") date.df <- data.frame(date=date.list, weekday=weekdays(date.list)) date.df <- subset(date.df, subset=!(weekday %in% c("Saturday", "Sunday"))) date.df$date_num <- 1:length(date.df$date) date.df[1:20,] > date.df[1:20,] date weekday date_num 1 2006-01-27 Friday 1 4 2006-01-30 Monday 2 5 2006-01-31 Tuesday 3 6 2006-02-01 Wednesday 4 7 2006-02-02 Thursday 5 8 2006-02-03 Friday 6 11 2006-02-06 Monday 7 12 2006-02-07 Tuesday 8 13 2006-02-08 Wednesday 9 14 2006-02-09 Thursday 10 15 2006-02-10 Friday 11 18 2006-02-13 Monday 12 19 2006-02-14 Tuesday 13 20 2006-02-15 Wednesday 14 21 2006-02-16 Thursday 15 22 2006-02-17 Friday 16 25 2006-02-20 Monday 17 26 2006-02-21 Tuesday 18 27 2006-02-22 Wednesday 19 28 2006-02-23 Thursday 20 -Ian On May 23, 2011, at 12:30 PM, Geoffrey Smith wrote: > Thank you for the email. The data is unbalanced, meaning that some days are > missing. So the sequence of days could be something like Tuesday, > Wednesday, Friday, Monday. The diff function would produce 1, 2, 3. But I > would like it to produce 1, 2, 1 since there is really only 1 day between > Friday and Monday. Thank you. Geoff > > On Mon, May 23, 2011 at 10:09 AM, Jeff Newmiller > <jdnew...@dcn.davis.ca.us>wrote: > >> Your request seems bizarre to me. If you really want to ignore the actual >> time intervals, just do your analysis without the actual dates. >> >> If you just want forward-looking time intervals, then put them in the >> correct index locations. >> >> ?diff >> >> c(diff(DF$DATE),1) >> --------------------------------------------------------------------------- >> Jeff Newmiller The ..... ..... Go Live... >> DCN:<jdnew...@dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go... >> Live: OO#.. Dead: OO#.. Playing >> Research Engineer (Solar/Batteries O.O#. #.O#. with >> /Software/Embedded Controllers) .OO#. .OO#. rocks...1k >> --------------------------------------------------------------------------- >> >> Sent from my phone. Please excuse my brevity. >> > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. [[alternative HTML version deleted]] ______________________________________________ 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.