Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to check if a number is a positive natural number?

Tags:

r

I'd appreciate any idea on how to do it, so we can compare them with each other.

Here is one to start out with:

is.natural <- function(x)
{
     x>0 && identical(round(x), x)
}
like image 315
Tal Galili Avatar asked Dec 12 '22 17:12

Tal Galili


1 Answers

The docs suggest a similar method, so I doubt you'll get any better. Remember to include an epsilon to take into account precision issues!

is.naturalnumber <-
    function(x, tol = .Machine$double.eps^0.5)  x > tol & abs(x - round(x)) < tol
is.naturalnumber(1) # is TRUE
(x <- seq(1,5, by=0.5) )
is.naturalnumber( x ) #-->  TRUE FALSE TRUE ...
like image 91
moinudin Avatar answered Jan 07 '23 04:01

moinudin