On 6/10/05, Gabor Grothendieck <[EMAIL PROTECTED]> wrote: > On 6/10/05, [EMAIL PROTECTED] > <[EMAIL PROTECTED]> wrote: > > > > > > > > > > Is there anyway to preset date formats? I have a date from a cover.dbf > > that is shown as this: > > > cover$FINALREPOR > > [1] "2003-06-24" > > > > The numeric value in cover$FINALREPOR is 12227. I'd rather not create > > another vector to hold the properly formatted date. > > > > When I put this in a WordPerfect merge, I want the date to be June 24, > > 2003. I could take care of the problem in a WordPerfect macro but I'd > > rather do it as an R default date format if possible. > > > > I am not entirely sure I understand what you are asking but I assume > you want a Date variable such that print, format and as.character, > when applied to it, produce default output of a prespecified format. > > Although I do not think Date will do that, chron can > associate a default format with a chron variable. > > library(chron) > > # custom format for a dates (i.e. chron) object > my.format <- function(x) format(as.Date(dates(x)), "%B %d %Y") > > # test data > my.Date <- Sys.Date() + 0:9 > > # convert to chron and associate my.format to it > my.chron <- chron(unclass(my.Date), out.format = my.format) > > print(my.chron) > my.chron > as.character(my.chron) > format(my.chron) > > Note that you can find more information on chron and various > conversions in my article in RNews 4/1 and especially the table > at the end of that article. >
Here is a different solution that does not involve chron. In this one we define a subclass of Date called mdy that has a default format as you specified implemented by defining print, as.character and format methods for it: # define mdy methods print.mdy <- print.Date as.character.mdy <- format.mdy <- function(x, format = "%B %d %Y") format(structure(x, class = "Date"), format = format) # test data of class mdy (which is a subclass of Date) x <- Sys.Date() + 0:9 class(x) <- c("mdy", "Date") # test out print, format and as.character methods for class mdy print(x) format(x) as.character(x) x ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html