[R] convert "1", "10", and "100" to "0001", "0010", "0100" etc.

David Winsemius dwinsemius at comcast.net
Fri Sep 10 22:10:52 CEST 2010


On Sep 10, 2010, at 4:05 PM, Nick Matzke wrote:

> Hi,
>
> Is there an easy way to convert numbers into a form such that they  
> all have the same number of digits?
>
> e.g.:
> "1", "10", and "100"
>
> ...become...
>
> "0001", "0010", "0100" etc.

 > sprintf("%05.0f", 100)
[1] "00100"

 > sprintf("%04.0f", 100)
[1] "0100"


>
> I ask because I am producing a large number of files that need to  
> sort consistently by filename.  Currently I get this kind of sorting:
>
> filename1
> filename10
> filename11
> filename12
> filename13
> filename14
> filename15
> filename16
> filename17
> filename18
> filename19
> filename2
> filename20
> filename21
> ...etc..
>
> which is annoying.  Ideally I'd have:
>
> filename0001
> filename0002
> filename0003
> filename0004
> filename0005
> filename0006
> filename0007
> filename0008
> filename0009
> filename0010
> filename0011
> ...etc..
>
> Basically I want to produce strings like "0010" without an elaborate  
> hack.
>
> Thanks!
> Nick
>
>
>
>
> -- 
> ====================================================
> Nicholas J. Matzke
> Ph.D. Candidate, Graduate Student Researcher
> Huelsenbeck Lab
> Center for Theoretical Evolutionary Genomics
> 4151 VLSB (Valley Life Sciences Building)
> Department of Integrative Biology
> University of California, Berkeley
>
> Graduate Student Instructor, IB200A
> Principles of Phylogenetics: Systematics
> http://ib.berkeley.edu/courses/ib200a/index.shtml
>
> Lab websites:
> http://ib.berkeley.edu/people/lab_detail.php?lab=54
> http://fisher.berkeley.edu/cteg/hlab.html
> Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370
> Lab personal page: http://fisher.berkeley.edu/cteg/members/matzke.html
> Lab phone: 510-643-6299
> Dept. fax: 510-643-6264
> Cell phone: 510-301-0179
> Email: matzke at berkeley.edu
>
> Mailing address:
> Department of Integrative Biology
> 3060 VLSB #3140
> Berkeley, CA 94720-3140
>
> -----------------------------------------------------
> "[W]hen people thought the earth was flat, they were wrong. When  
> people thought the earth was spherical, they were wrong. But if you  
> think that thinking the earth is spherical is just as wrong as  
> thinking the earth is flat, then your view is wronger than both of  
> them put together."
>
> Isaac Asimov (1989). "The Relativity of Wrong." The Skeptical  
> Inquirer, 14(1), 35-44. Fall 1989.
> http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
>
> ______________________________________________
> 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.

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list