[Rd] as.Date.character suggestion

Duncan Murdoch murdoch.duncan at gmail.com
Wed Aug 20 22:18:36 CEST 2014


On 20/08/2014, 4:11 PM, Peter Langfelder wrote:
> The default format="" in as.Date.character is supremely confusing. The
> help shows as.Date defined as
> 
> ## S3 method for class 'character'
>      as.Date(x, format = "", ...)
> 
> yet the function behaves very differently when format is not specified
> and when it is specified to its default:
> 
> as.Date("2012-01-01")
> [1] "2012-01-01"
>> as.Date("2012-01-01", format = "")
> [1] "2014-08-20"  ### Gives today.
> 
> 
> The default setting is never used, because if format is not given,
> values "%Y-%m-%d" and "%Y/%m/%d" are tried for it (rather than "").
> 
> My suggestion is to leave out the default "" for format in as.Date:
> 
> as.Date(x, format, ...)
> 
> If this causes a conflict in the S3 dispatching, at least indicate in
> the help that the default is never used and the function works
> differently if format is specified to its default.

Wouldn't it be simpler to change the test from

if (missing(format))

to

if (format == "")

?

Duncan Murdoch



More information about the R-devel mailing list