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
format.
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,
b.


If you're reading this from a file (via read.table, for example), then your date column is probably a factor. Convert to character first.


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



--sundar

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to