[Rd] as.Date nuance

Gabor Grothendieck ggrothendieck at gmail.com
Sat Mar 24 17:12:23 CET 2007


It matches in the sense of grep or regexpr

grep("a", "ab") > 0
regexpr("a", "ab") > 0

Try this:

x <- c("2006-01-01error", "2006-01-01")
as.Date(x, "%Y-%m-%d") + ifelse(regexpr("^....-..-..$", x) > 0, 0, NA)



On 3/24/07, Vladimir Dergachev <vdergachev at rcgardis.com> wrote:
> On Saturday 24 March 2007 6:21 am, Prof Brian Ripley wrote:
> > This is how strptime() works: it processes the input to match the format.
>
> Except that the format does not match the string - there are leftover
> characters. Even by R's own definition:
>
> > match("a", "ab")
> [1] NA
>
> as, of course, is reasonable.
>
> Is there some way to make sure there is an exact match ?
>
>                        thank you !
>
>                                   Vladimir Dergachev
>
> >
> > On Fri, 23 Mar 2007, Vladimir Dergachev wrote:
> > >  I have encountered a nuance in as.Date() behaviour that is not
> > > altogether
> > >
> > > obvious - not sure whether this is intended or not:
> > >> as.Date("2001-01-01error")
> > >
> > > [1] "2001-01-01"
> > >
> > > I.e. it ignores the rest of the characters. This happens both in 2.3.1
> > > and 2.4.1 versions.
> >
> > It has always occurred.
> >
> > > This also happens with explicit format specification:
> > >> as.Date("2006-01-01error", format="%Y-%m-%d")
> > >
> > > [1] "2006-01-01"
> > >
> > >                    thank you
> > >
> > >                        Vladimir Dergachev
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list