Cheers Bill!!
On Thu, Jan 26, 2012 at 12:03 PM, William Dunlap <wdun...@tibco.com> wrote: > One way to pad with initial zeros is to convert your > strings to integers and format the integers: > > sprintf("%04d", as.integer(mytimes)) > [1] "1334" "2310" "0039" "2300" "1556" "0003" "0404" > [8] "0037" "1320" "0004" "0211" "2320" > It has the added benefit that the call to as.integer > will warn you if any supposed integers don't look like > integers. If you use this approach you don't need the > call to sub(): > > tmp <- as.integer(mytimes) > > sprintf("%02d:%02d", tmp%/%100, tmp%%100) > [1] "13:34" "23:10" "00:39" "23:00" "15:56" "00:03" > [7] "04:04" "00:37" "13:20" "00:04" "02:11" "23:20" > You could also check that tmp%/%100 (the hour) and tmp%%100 > (the minute) are in their expected ranges before calling > sprintf. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com > >> -----Original Message----- >> From: Dan Abner [mailto:dan.abne...@gmail.com] >> Sent: Thursday, January 26, 2012 8:55 AM >> To: William Dunlap >> Cc: r-help@r-project.org >> Subject: Re: [R] Inserting a character into a character string XXXX >> >> Hi Bill, >> >> Thanks very much for your response. >> >> Can you suggest an approach for the "pre"-padding? Here is a more >> respresentative sample of the values: >> >> mytimes<-scan(what="") >> 1334 >> 2310 >> 39 >> 2300 >> 1556 >> 3 >> 404 >> 37 >> 1320 >> 4 >> 211 >> 2320 >> >> >> Thanks! >> >> Dan >> >> >> >> On Thu, Jan 26, 2012 at 10:41 AM, William Dunlap <wdun...@tibco.com> wrote: >> > > sub("([[:digit:]]{2,2})$", ":\\1", mytimes) >> > [1] "14:57" "14:57" "13:10" "11:58" "1:37" "18:55" >> > >> > That will convert "05" to ":05" and will do nothing >> > to "5". Pad with 0's before calling sub if that is >> > required. >> > >> > Bill Dunlap >> > Spotfire, TIBCO Software >> > wdunlap tibco.com >> > >> >> -----Original Message----- >> >> From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] >> >> On Behalf Of Dan Abner >> >> Sent: Thursday, January 26, 2012 6:50 AM >> >> To: r-help@r-project.org >> >> Subject: [R] Inserting a character into a character string XXXX >> >> >> >> Hello everyone, >> >> >> >> I have a character vector of 24 hour time values in the format hm >> >> without the delimiting ":". How can I insert the ":" immediately to >> >> the left of the second digit from the right? >> >> >> >> mytimes<-scan(what="") >> >> 1457 >> >> 1457 >> >> 1310 >> >> 1158 >> >> 137 >> >> 1855 >> >> >> >> >> >> Thanks! >> >> >> >> Dan >> >> >> >> ______________________________________________ >> >> R-help@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. ______________________________________________ R-help@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.