[R] How to transform the date format as "20050425"

Marc Schwartz MSchwartz at MedAnalytics.com
Mon Apr 25 22:32:53 CEST 2005


On Mon, 2005-04-25 at 15:18 -0500, Yong Wang wrote:
> Dear R user,
> if the dates are in format as "20050425" i.e., Apr. 25 2004"
> can you suggest an easy way to transfom it to standard form
> as "2005-04-25" or "2004Apr25" or "2005/04/25" or any other
> format which is R recognizable?
> if there is no easy way to do that, can you let me know what
> is the function in R performing similiar function as the "string"
> function in C or some other more basic language, so I can loop
> through all dates to make the desired change.
> thank you
> regards

If you are just formatting the Date (ie. no time component) then look
at ?as.Date, which has a format argument:

> as.Date("20050425", "%Y%M%d")
[1] "2005-04-25"

Using the format argument, you then return a standard Date class object
for use in R. The format argument varies as required for your data
format.

On the output side, there is the format() function, which has a method
for Dates, that you can then use to convert the Date class object into a
character vector:

> MyDate <- as.Date("20050425", "%Y%M%d")
> MyDate
[1] "2005-04-25"


> format(MyDate, "%B %d %Y")
[1] "April 25 2005"

Also see ?strftime for details on date format strings.

HTH,

Marc Schwartz




More information about the R-help mailing list