On Sun, 2007-01-07 at 12:01 +0000, Mark Wardle wrote: > 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.
Why not just tell R what the format the dates are in, using the "format" argument to as.Date? > 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, "%Y-%m-%d") [1] "1900-01-01" "2007-01-01" NA "2001-05-03" > as.Date(d2, "%Y-%m-%d") [1] NA "1900-01-01" "2007-01-01" "2001-05-03" > > Is the behaviour of as.Date() shown above as expected/designed? I don't know about expected/designed, but I would have thought explicitly stating the date format would be the most fool-proof way of making sure R did what you wanted, and the easiest way to work around your "problem". HTH G > > Many thanks, > > Mark > > > (*) "Error in fromchar(x) : character string is not in a standard > unambiguous format" > > sessionInfo(): > 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. -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Gavin Simpson [t] +44 (0)20 7679 0522 ECRC [f] +44 (0)20 7679 0565 UCL Department of Geography Pearson Building [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street London, UK [w] http://www.ucl.ac.uk/~ucfagls/ WC1E 6BT [w] http://www.freshwaters.org.uk/ %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ 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.