as.yearqtr in the zoo package could be used as a workaround until cut is fixed.
> as.yearqtr(as.Date(c("2009-03-21","2009-03-31"))) [1] "2009 Q1" "2009 Q1" > as.Date(as.yearqtr(as.Date(c("2009-03-21","2009-03-31")))) [1] "2009-01-01" "2009-01-01" On Mon, Dec 21, 2009 at 7:45 AM, <shmu...@googlemail.com> wrote: > Full_Name: Qing Xia > Version: 2.10.0 > OS: Windows XP > Submission from: (NULL) (213.71.23.233) > > > I find, when I use "cut" function to cut date-time objects based on breaks = > "quarter", there exists a problem. It means, if the date-time has "JJJJ-MM-30" > or "JJJJ-MM-31", then "cut" runs not correctly, it gives wrong levels. Detail > can be found in the following R-Output: > > 1. correct Output levels, if there is no date-time "JJJJ-MM-30" or > "JJJJ-MM-31" > >> x<- as.Date(c("2009-03-21","2009-03-24")) >> cut(x, breaks= "quarter") > [1] 2009-01-01 2009-01-01 > Levels: 2009-01-01 > > > 2. wrong Output levels, if there exists date-time "JJJJ-MM-30" or "JJJJ-MM-31" > >> x<- as.Date(c("2009-03-21","2009-03-30")) >> cut(x, breaks= "quarter") > [1] 2009-01-01 2009-01-01 > Levels: 2009-01-01 2009-04-01 > > >> x<- as.Date(c("2009-03-21","2009-03-31")) >> cut(x, breaks= "quarter") > [1] 2009-01-01 2009-01-01 > Levels: 2009-01-01 2009-04-01 > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel