R:is.integer不在平方根上工作

时间:2016-03-12 01:09:10

标签: r

基本上,我想检查数字的平方根是否是整数,所以我尝试了以下函数:

is.integer(sqrt(4))

预期值为TRUE,而实际结果为FALSE。我已经阅读了其他一些帖子,似乎我需要使用L强制转换为整数。但是,不知道我应该如何使它在我的情况下工作。

1 个答案:

答案 0 :(得分:7)

是。甚至:

is.integer(1)
## [1] FALSE

因为类型(与值相对)不是整数。查看帮助?is.integer。这里显示了一个函数is.wholenumber

is.wholenumber <-
     function(x, tol = .Machine$double.eps^0.5)  
         abs(x - round(x)) < tol
is.wholenumber(sqrt(4))
## [1] TRUE