From ggrothendieck at gmail.com  Sat Mar 24 17:12:23 2007
From: ggrothendieck at gmail.com (Gabor Grothendieck)
Date: Sat, 24 Mar 2007 12:12:23 -0400
Subject: [Rd] as.Date nuance
In-Reply-To: <200703241151.13734.vdergachev@rcgardis.com>
References: <200703231930.03846.vdergachev@rcgardis.com>
	<Pine.LNX.4.64.0703241017450.32697@gannet.stats.ox.ac.uk>
	<200703241151.13734.vdergachev@rcgardis.com>
Message-ID: <971536df0703240912m8eb5798pe99ad5a66fd71e3a@mail.gmail.com>

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
>



[Rd] as.Date nuance
Gabor Grothendieck