[Rd] as.Date.character suggestion
gmbecker at ucdavis.edu
Thu Aug 21 01:52:39 CEST 2014
Could do both to preserve bc...
if(missing(format) || !nchar(format))
On Wed, Aug 20, 2014 at 1:50 PM, Peter Langfelder <
peter.langfelder at gmail.com> wrote:
> That would be my preferred solution, but it would break backwards
> compatibility for format="", so others may disagree.
> On Wed, Aug 20, 2014 at 1:18 PM, Duncan Murdoch
> <murdoch.duncan at gmail.com> wrote:
> > 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")
> >>  "2012-01-01"
> >>> as.Date("2012-01-01", format = "")
> >>  "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
> R-devel at r-project.org mailing list
University of California, Davis
[[alternative HTML version deleted]]
More information about the R-devel