[R] Format integer

Phil Spector spector at stat.Berkeley.EDU
Tue May 13 00:24:10 CEST 2008


I guess "little" means different things to different people:

> x = sample(1:100,650000,replace=TRUE)
> system.time(a<-formatC(x,digits=10,flag='0'))
    user  system elapsed
  32.854   0.444  34.813
> system.time(b<-sprintf("%011d",x))
    user  system elapsed
   0.352   0.012   0.363

If you look at the definitions of the functions, you'll see
that formatC is written in R, and sprintf uses a single call
to an .Internal function.   I

                                        - Phil Spector
 					 Statistical Computing Facility
 					 Department of Statistics
 					 UC Berkeley
 					 spector at stat.berkeley.edu



On Mon, 12 May 2008, Anh Tran wrote:

> Yea, thanks all. I checked back and I got a few things mistyped.
> The array is 650,000 and it took 25 seconds :p. It's acceptable. Just that I
> had too many variable at the time I ran it.
>
> Also, seems like sprintf is a little faster.
>
> Thanks all.
>
> Anh Tran
>
>
> On Mon, May 12, 2008 at 2:55 PM, Uwe Ligges <ligges at statistik.tu-dortmund.de>
> wrote:
>
>>
>>
>> Anh Tran wrote:
>>
>>> Thanks. formatC(flag) works.
>>>
>>> But it's awefully slow. I try to do that for 65000 numbers (generating
>>> ID
>>> for each item) and it seems like forever.
>>>
>>
>> On my not that recent laptop:
>>
>>> system.time(formatC(1:65000, width=10, flag="0"))
>>   user  system elapsed
>>   1.92    0.00    1.94
>>
>>
>> I think 2 seconds is less than "forever".
>>
>> Uwe Ligges
>>
>>
>>
>>
>>
>>
>>  Is there any faster way?
>>>
>>> Thank all.
>>>
>>> Anh Tran
>>>
>>> On Mon, May 12, 2008 at 2:36 PM, Uwe Ligges <
>>> ligges at statistik.uni-dortmund.de> wrote:
>>>
>>>
>>>> Anh Tran wrote:
>>>>
>>>>  Hi,
>>>>> What's one way to convert an integer to a string with preceding 0's?
>>>>> such that
>>>>> '13' becomes '00000000013'
>>>>> to be put into a string
>>>>>
>>>>> I've tried formatC, but they removes all the zeros and replace it
>>>>> with
>>>>> blanks
>>>>>
>>>>>  Not so for me:
>>>>
>>>> formatC(13, digits=10, flag="0")
>>>>
>>>> Uwe LIgges
>>>>
>>>>
>>>>
>>>>  Thanks
>>>>>
>>>>>
>>>>>
>>>
>>>
>
>
> -- 
> Regards,
> Anh Tran
>
> 	[[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.
>



More information about the R-help mailing list