You said that the values are already character - that's the key. Compare: > sprintf("%05s", "2018") [1] " 2018" > sprintf("%05d", 2018) [1] "02018"
Since they are already character, though, here's another option: x <- c("2108", "60321", "22030") # part of your data ifelse(nchar(x) == 4, paste("0", x, sep=""), x) [1] "02108" "60321" "22030" You could also use: > sprintf("%05d", as.numeric("2018")) [1] "02018" The help for sprintf says this, but not clearly: ‘0’ For numbers, pad to the field width with leading zeros. Sarah On Thu, Feb 23, 2012 at 2:16 PM, z2.0 <zack.abraham...@gmail.com> 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 > > > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/I-m-sure-I-m-missing-something-with-formatC-or-sprintf-tp4414905p4414905.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. -- Sarah Goslee http://www.stringpage.com http://www.sarahgoslee.com http://www.functionaldiversity.org ______________________________________________ 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.