i have converted my data into date format like below:> day=as.Date(originaldate,"%m/%d/%Y") > day[1:5][1] "2008-04-12" "2011-07-02" "2011-09-02" "2008-04-12" "2008-04-12" I wish to select only those observations from 2007 to 2009, how can I select from this list? [[alternative HTML version deleted]]
I have a method which is not so smart --use grep to match the pattern. for example: dates <- c("02/27/92", "02/27/92", "01/14/92", "02/28/92", "02/01/91") day <- as.Date(dates, "%m/%d/%y") day: [1] "1992-02-27" "1992-02-27" "1992-01-14" "1992-02-28" "1991-02-01" If I want to search for 1991, I can use: grep("1991-*", day) Hope for a better solution. 2013/7/4 Gallon Li <gallon.li@gmail.com>> i have converted my data into date format like below: > > > day=as.Date(originaldate,"%m/%d/%Y") > > day[1:5] > [1] "2008-04-12" "2011-07-02" "2011-09-02" "2008-04-12" "2008-04-12" > > I wish to select only those observations from 2007 to 2009, how can I > select from this list? > > [[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. >-- ÕÅêÊ Dante.py ÖÐɽ´óѧ09¼¶ÊýѧÓëÓ¦ÓÃÊýѧרҵ ¸öÈËÖ÷Ò³£ºhttp://dantepy.yslsg.org/ [[alternative HTML version deleted]]
Hi, You could try: day<-as.Date(c("2008-04-12","2011-07-02","2011-09-02","2008-04-12","2008-04-12")) ?indx<-gsub("-.*","",day) ?day[indx>="2007" & indx<="2009"] #[1] "2008-04-12" "2008-04-12" "2008-04-12" #or library(xts) xt1<- xts(seq_along(day),day) index(xt1["2007/2009"]) #[1] "2008-04-12" "2008-04-12" "2008-04-12" #or library(chron) yr1<-month.day.year(unclass(day))$year day[yr1>=2007 & yr1<=2009] #[1] "2008-04-12" "2008-04-12" "2008-04-12" A.K. ----- Original Message ----- From: Gallon Li <gallon.li at gmail.com> To: r-help <r-help at stat.math.ethz.ch> Cc: Sent: Thursday, July 4, 2013 2:31 AM Subject: [R] how to choose dates data? i have converted my data into date format like below:> day=as.Date(originaldate,"%m/%d/%Y") > day[1:5][1] "2008-04-12" "2011-07-02" "2011-09-02" "2008-04-12" "2008-04-12" I wish to select only those observations from 2007 to 2009, how can I select from this list? ??? [[alternative HTML version deleted]] ______________________________________________ R-help at 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.