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

______________________________________________
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.

Reply via email to