[R] issue with strptime

William Dunlap wdunlap at tibco.com
Fri Jun 17 19:44:24 CEST 2011


You could loop over the list of reasonable formats,
using the first one that works (does not return NA):

f <- function (strings, formats) {
    times <- strptime(strings, formats[1])
    i <- 1
    while ((i < length(formats)) && any(isBad <- is.na(times))) {
        i <- i + 1
        times[isBad] <- strptime(strings[isBad], formats[i])
    }
    times
}

E.g.,

> s <- c("2009-04-08 1:49:47 PM",
+        "2009-04-08 1:49 PM",
+        "2011-06-17 2:01:03 AM")
> fmts <- c("%Y-%m-%d %I:%M:%S %p", "%Y-%m-%d %I:%M %p")
> f(s, fmts)
[1] "2009-04-08 13:49:47" "2009-04-08 13:49:00" "2011-06-17 02:01:03"

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of cassie jones
> Sent: Friday, June 17, 2011 9:55 AM
> To: r-help at r-project.org
> Subject: [R] issue with strptime
> 
> Hi everyone,
> 
> I have bunch of date and time observations in the format 
> %Y-%m-%d %I %M %S
> %p. I used strptime() to read this format. But the problem is 
> some of the
> times are in the format of  %I %M %p, so for those times, 
> strptime is giving
> me NA values.
> 
> For example,
> 
> strptime(paste("2009-04-08","1:49:47 PM"),format="%Y-%m-%d 
> %I:%M:%S %p")
> 
> [1] "2009-04-08 13:49:47"
> 
> 
> But
> 
> strptime(paste("2009-04-08","1:49 PM"),format="%Y-%m-%d %I:%M:%S %p")
> 
> [1] NA
> 
> Now I have approximately 10000 observations, so I can't go 
> through all the
> observations individually in order to find which row in the 
> array has this
> format.
> 
> Can anyone suggest me how to handle this issue? Is there any 
> way to convert
> %I %M %p format to %I %M %S %p?
> 
> Thanks in advance for the help.
> 
> Cassie
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list
> 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.
> 



More information about the R-help mailing list