All these suggestions of using 'sprintf' might be right but you might be doing it wrong... If you are working with times, then use the date/time classes and the handy functions for working on them. Which means the lubridate package, most likely. Are these times part of a calendar time, or are they just clock times without reference to any day, or are they durations in hours and minutes?
On Wed, Nov 6, 2013 at 4:34 PM, Marc Schwartz <marc_schwartz at me.com> wrote:
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
______________________________________________ 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.