An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20131106/173bd37d/attachment.pl>
convert one digit numbers to two digits one
4 messages · Alaios, David Winsemius, Bert Gunter +1 more
On Nov 6, 2013, at 8:25 AM, Alaios wrote:
Hi all, the following returns the hour and the minutes paste(DataSet$TimeStamps[selectedInterval$start,4], DataSet$TimeStamps[selectedInterval$start,5],sep=":") [1] "12:3" the problem is that from these two I want to create a time stamp so 12:03. The problem is that the number 3 is not converted to 03. Is there an easy way when I have one digit integer to add a zero in the front? Two digits integers are working fine so far, 12:19, or 12:45 would appear correctly
?sprintf # other options are linked from that page.
[[alternative HTML version deleted]]
Sigh.
David Winsemius Alameda, CA, USA
(Assuming I understand) tons of ways of doing this. So I'll just point out the ?nchar function, which you can use to count characters in your tail end and paste a "0" if there's only one, e.g. via ifelse() . -- Bert
On Wed, Nov 6, 2013 at 8:25 AM, Alaios <alaios at yahoo.com> wrote:
Hi all,
the following returns the hour and the minutes
paste(DataSet$TimeStamps[selectedInterval$start,4], DataSet$TimeStamps[selectedInterval$start,5],sep=":")
[1] "12:3"
the problem is that from these two I want to create a time stamp so 12:03. The problem is that the number 3 is not converted to 03. Is there an easy way when I have one digit integer to add a zero in the front? Two digits integers are working fine so far, 12:19, or 12:45 would appear correctly
I would like to thank you in advance for your help
Regards
Alex
[[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.
Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374
On Nov 6, 2013, at 10:25 AM, Alaios <alaios at yahoo.com> wrote:
Hi all, the following returns the hour and the minutes paste(DataSet$TimeStamps[selectedInterval$start,4], DataSet$TimeStamps[selectedInterval$start,5],sep=":") [1] "12:3" the problem is that from these two I want to create a time stamp so 12:03. The problem is that the number 3 is not converted to 03. Is there an easy way when I have one digit integer to add a zero in the front? Two digits integers are working fine so far, 12:19, or 12:45 would appear correctly I would like to thank you in advance for your help Regards Alex
This is an example where using ?sprintf gives you more control:
sprintf("%02d:%02d", 12, 3)
[1] "12:03"
sprintf("%02d:%02d", 9, 3)
[1] "09:03" The syntax '%02d' tells sprintf to print the integer and pad with leading zeroes to two characters where needed. Regards, Marc Schwartz