It sounds like you want an 'is.integral' function to tell if a number acts like a mathematical integer, as opposed to 'is.integer', which tells if a number is stored as a 32-bit computer integer. The test will depend on what properties of mathematical integers you are most interested in.
is.integral <- function (x) (floor(x) == x) & (abs(x) + 1 > abs(x)) will return TRUE if x has no fractional part and the number's putative successor (predecessor if negative) is different than the number. That latter test is equivalent (roughly) to log2(abs(x))<53 and comes into play when you run out of bits in the mantissa of a double precision number. (One might want it to return NA in that case, but I think FALSE works better.) Bill Dunlap TIBCO Software wdunlap tibco.com On Sat, Oct 18, 2014 at 3:41 AM, PO SU <rhelpmaill...@163.com> wrote: > > > Dear usRers, > I want to judge virable is or not a integer? > e.g. is.integer(1) FALSE because it is a numeric, but i want it's true. > as.integer may not be used. because i don't know a is 1 or 1.1. > > > > > > -- > > PO SU > mail: desolato...@163.com > Majored in Statistics from SJTU > ______________________________________________ > 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. ______________________________________________ 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.