Hi,
I tried to convert a date-like string to date as below
as.Date("202012", format = "%y%m")
This gives NA
Could you please help why I am getting NA value?
If I remember correctly, %y is the last 2 digits of the year, so 90 would be 1990 and 15 would be 2015. I think you meant %Y I think you can find this in ?Date, or maybe ?strptime, I can't remember exactly. On Sat, May 31, 2025, 12:38 Christofer Bogaso <bogaso.christofer at gmail.com> wrote:> Hi, > > I tried to convert a date-like string to date as below > > as.Date("202012", format = "%y%m") > > This gives NA > > Could you please help why I am getting NA value? > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > https://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Read ?strptime. %y is not the same thing as %Y. On May 31, 2025 9:32:26 AM PDT, Christofer Bogaso <bogaso.christofer at gmail.com> wrote:>Hi, > >I tried to convert a date-like string to date as below > >as.Date("202012", format = "%y%m") > >This gives NA > >Could you please help why I am getting NA value? > >______________________________________________ >R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide https://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code.-- Sent from my phone. Please excuse my brevity.
On 31 May 2025 at 22:02, Christofer Bogaso wrote:
| I tried to convert a date-like string to date as below
|
| as.Date("202012", format = "%y%m")
|
| This gives NA
|
| Could you please help why I am getting NA value?
A _Date_ is comprised of three values for _year_, _month_ and _day_.
What you supplied does not match that requirement.
Hence the failure you see, and one way to overcome this (by specifying an
arbitrary day, here the first):
> as.Date("202012", "%Y%m")
[1] NA
> as,Date(paste0("202012", "01"), "%Y%m%d")
[1] "2020-12-01"
>
even when we correct the inadequate '%y' parser others have pointed out.
Dirk
--
dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org