On 23-Feb-2012 z2.0 wrote: > I have a four-digit string I want to convert to five digits. Take the > following frame: > > zip > 2108 > 60321 > 60321 > 22030 > 91910 > > I need row 1 to read '02108'. This forum directed me to formatC previously > (thanks!) That usually works but, for some reason, it's not in this > instance. Neither of the syntaxes below change '2108' to '02108.' The values > in cand_receipts[,1] are of type 'character.' > > cand_receipts[,1] <- formatC(cand_receipts[,1], width = 5, format = 's', > flag = '0') > cand_receipts[,1] <- sprintf("%05s", cand_receipts[,1]) > > Any thoughts? > > Thanks, > Zack
For this (and similar cases): formatC(2108,width=5,flag="0") # [1] "02108" For longer strings: formatC(2108,width=6,flag="0") # [1] "002108" see ?formatC for more details (the way formatC() aggregates information about the desired format is somewhat different from the format syntax in C's printf() and related functions). Ted. ------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@wlandres.net> Date: 23-Feb-2012 Time: 19:58:22 This message was sent by XFMail ______________________________________________ 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.