[R] "reverse truncate" to extract only decimal values

Sarah Goslee sarah.goslee at gmail.com
Thu Apr 16 23:41:28 CEST 2009


You could do something like this:

> revtrunc <- function(x) { x - floor(x) }

> revtrunc(39.5)
[1] 0.5

But note:
> revtrunc(-39.5)
[1] 0.5

I'm not sure what you'd want for negative numbers. One possibility:

revtrunc <- function(x) { sign(x) * (x - floor(x)) }
> revtrunc(39.5)
[1] 0.5
> revtrunc(-39.5)
[1] -0.5

Sarah

On Thu, Apr 16, 2009 at 5:30 PM, T.D.Rudolph <prairie.picker at gmail.com> wrote:
>
> hello there,
>
> Is there a way of truncating in the opposite direction so as to retain only
> the values to the right of the decimal??
>
> i.e. rather than:
>> trunc(39.5)
> [1] 39
>
> i would get something like:
>> revtrunc(39.5)
> [1] 0.5
>
> I've been searching to no avail but I imagine there is a very simple
> solution!
> Tyler



-- 
Sarah Goslee
http://www.functionaldiversity.org




More information about the R-help mailing list