[R] as.Date() results depend on order of data within vector?

From: Mark Wardle <mark_at_wardle.org>
Date: Sun 07 Jan 2007 - 12:01:32 GMT

Dear all,

The as.Date() function appears to give different results depending on the order of the vector passed into it.

d1 = c("1900-01-01", "2007-01-01","","2001-05-03") d2 = c("", "1900-01-01", "2007-01-01","2001-05-03")

as.Date(d1)	# gives correct results
as.Date(d2)	# fails with error (* see below)

This problem does not arise if the dates are NA rather than an empty string, but my data is coming via RODBC and I still don't have NAs passed across properly.

I might add that I initially noticed this behaviour when using RODBC's sqlQuery() function call, and I initially had difficulty explaining why one column of dates was passed correctly, but another failed. The failing column was a "date of death" column where it was NA ("") for most patients.

I've come up with two workarounds that work. The first is to sort the data at the SQL level, ensuring the initial record is not null. The second is to use sqlQuery() with as.is=T option, and then do the sorting and conversion afterwards.

Is the behaviour of as.Date() shown above as expected/designed?

Many thanks,


(*) "Error in fromchar(x) : character string is not in a standard unambiguous format"

R version 2.4.0 (2006-10-03) powerpc-apple-darwin8.7.0 locale: C/en_GB.UTF-8/C/C/C/C
attached base packages:
[1] "methods" "stats" "graphics" "grDevices" "utils" "datasets" "base"

other attached packages:

rcompletion       RODBC
   "0.0-12"     "1.1-7"

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 and provide commented, minimal, self-contained, reproducible code. Received on Sun Jan 07 23:04:40 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Mon 08 Jan 2007 - 06:30:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.