[R] read "4-jan-02" as date

Tony Plate tplate at blackmesacapital.com
Mon Oct 11 18:06:40 CEST 2004

Works fine when you give as.Date() a character vector.  I suspect the Date 
column in your data frame is a factor.

 > d <- c("12-Jan-01", "11-Jan-01", "10-Jan-01", "9-Jan-01", "8-Jan-01", 
 > d
[1] "12-Jan-01" "11-Jan-01" "10-Jan-01" "9-Jan-01"  "8-Jan-01"  "5-Jan-01"
 > as.Date(d, format="%d-%b-%y")
[1] "2001-01-12" "2001-01-11" "2001-01-10" "2001-01-09" "2001-01-08"
[6] "2001-01-05"
 > as.Date(factor(d), format="%d-%b-%y")
Error in fromchar(x) : character string is not in a standard unambiguous format

Hope this helps,

Tony Plate

At Monday 09:04 AM 10/11/2004, bogdan romocea wrote:
>Dear R users,
>I have a column with dates (character) in a data frame:
>12-Jan-01 11-Jan-01 10-Jan-01 9-Jan-01  8-Jan-01  5-Jan-01
>and I need to convert them to (Julian) dates so that I can
>sort the whole data frame by date. I thought it would be
>very simple, but after checking the documentation and the
>list I still don't have something that works.
>1. as.Date returns the error below. What am I doing wrong?
>As far as I can see the character strings are in standard
>d$Date <- as.Date(d$Date, format="%d-%b-%y")
>Error in fromchar(x) : character string is not in a
>standard unambiguous format
>2. as.date {Survival} produces this error,
>d$Date <- as.date(d$Date, order = "dmy")
>Error in as.date(d$Date, order = "dmy") : Cannot coerce to
>date format
>3. Assuming all else fails, is there a text function
>similar to SCAN in SAS? Given a string like "9-Jan-01" and
>"-" as separator, I'd like a function that can read the
>first, second and third values (9, Jan, 01), so that I can
>get Julian dates with mdy.date {survival}.
>Thanks in advance,
>R-help at stat.math.ethz.ch mailing list
>PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

More information about the R-help mailing list