I am having trouble with what must be a very simple problem. Here is a reproducible example: library(lubridate) st <- c("1961-01","1961-04","1983-02") print(st) #[1] "1961-01" "1961-04" "1983-02" st1 <- as.Date(st, format=("%Y-%m")) print(st1) #[1] NA NA NA Why the heck am I getting three NAs instead of three Dates?I have studied the R documentation for as.Date() and it has not turned on the light bulb for me.
On Sun, Aug 19, 2018 at 05:20:29PM -0400, philipsm at cpanel1.stormweb.net wrote:> Why the heck am I getting three NAs instead of three Dates?I have > studied the R documentation for as.Date() and it has not turned on > the light bulb for me.I haven't encountered this problem before, but in my mind, if you want a date, you'll also need to specify the day. Only year and month won't cut it. Cheers, -- Jos? Mar?a (Chema) Mateos https://rinzewind.org/blog-es || https://rinzewind.org/blog-en
Hi Philip: Here is something to consider:> #potential solution: > sta <- paste(st,"-01",sep="") > st1 <- as.Date(sta, format=("%Y-%m-%d")) > print(st1)[1] "1961-01-01" "1961-04-01" "1983-02-01" Hope this helps! Erin Erin Hodgess, PhD mailto: erinm.hodgess at gmail.com On Sun, Aug 19, 2018 at 3:25 PM <philipsm at cpanel1.stormweb.net> wrote:> I am having trouble with what must be a very simple problem. Here is a > reproducible example: > > library(lubridate) > st <- c("1961-01","1961-04","1983-02") > print(st) > #[1] "1961-01" "1961-04" "1983-02" > st1 <- as.Date(st, format=("%Y-%m")) > print(st1) > #[1] NA NA NA > > Why the heck am I getting three NAs instead of three Dates?I have > studied the R documentation for as.Date() and it has not turned on the > light bulb for me. > > ______________________________________________ > 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 > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >[[alternative HTML version deleted]]
Hi Phillip, Jose has the correct answer. You probably missed this sentence in the "Note" section of the help page: "If the date string does not specify the date completely, the returned answer may be system-specific." In your case, the function throws up its hands and returns NA as you haven't specified a date. Jim On Mon, Aug 20, 2018 at 7:20 AM, <philipsm at cpanel1.stormweb.net> wrote:> I am having trouble with what must be a very simple problem. Here is a > reproducible example: > > library(lubridate) > st <- c("1961-01","1961-04","1983-02") > print(st) > #[1] "1961-01" "1961-04" "1983-02" > st1 <- as.Date(st, format=("%Y-%m")) > print(st1) > #[1] NA NA NA > > Why the heck am I getting three NAs instead of three Dates?I have studied > the R documentation for as.Date() and it has not turned on the light bulb > for me. > > ______________________________________________ > 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 http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.
Thanks Erin and Jim. You have indeed solved my problem. Philip Quoting Erin Hodgess <erinm.hodgess at gmail.com>:> Hi Philip: > > Here is something to consider: > >> #potential solution: >> sta <- paste(st,"-01",sep="") >> st1 <- as.Date(sta, format=("%Y-%m-%d")) >> print(st1) > [1] "1961-01-01" "1961-04-01" "1983-02-01" > > > Hope this helps! > Erin > > Erin Hodgess, PhD > mailto: erinm.hodgess at gmail.com > > > On Sun, Aug 19, 2018 at 3:25 PM <philipsm at cpanel1.stormweb.net> wrote: > >> I am having trouble with what must be a very simple problem. Here is a >> reproducible example: >> >> library(lubridate) >> st <- c("1961-01","1961-04","1983-02") >> print(st) >> #[1] "1961-01" "1961-04" "1983-02" >> st1 <- as.Date(st, format=("%Y-%m")) >> print(st1) >> #[1] NA NA NA >> >> Why the heck am I getting three NAs instead of three Dates?I have >> studied the R documentation for as.Date() and it has not turned on the >> light bulb for me. >> >> ______________________________________________ >> 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 >> http://www.R-project.org/posting-guide.html >> and provide commented, minimal, self-contained, reproducible code. >>