[R] More elegant magnitude method

David Winsemius dwinsemius at comcast.net
Tue Dec 7 20:50:34 CET 2010


On Dec 7, 2010, at 2:43 PM, Jonathan P Daily wrote:

> I have a need to find the order of number to get a scaling parameter  
> as a
> power of 10. I have a function that works *so far*, but it is ugly and
> probably buggy. In the interest of avoiding code-based outliers in my
> data, I thought I would ask if anyone here has a better way.
>
>> scl <- function(x){
> + length(charToRaw(format(trunc(x), scientific = F)))-1}
>> a <- 123456789
>> b <- 1E15
>> c <-  12.345
>> scl(a)
> [1] 8
>> scl(b)
> [1] 15
>> scl(c)
> [1] 1

scl<- function(x) trunc(log(x,10))
 > scl(a)
[1] 8
 >
 > scl(b)
[1] 15
 >
 > scl(c)
[1] 1

Seems mathematically clearer.
-- 
David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list