Skip to content
Back to formatted view

Raw Message

Message-ID: <1201CF18-AC08-4FF0-B709-051D9B95489A@comcast.net>
Date: 2010-12-07T19:50:34Z
From: David Winsemius
Subject: More elegant magnitude method
In-Reply-To: <OFF855C504.FE8D235C-ON852577F2.006C45AA-852577F2.006C61F1@usgs.gov>

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