全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
17012 13
2016-04-06
在R的命令窗口里输入?is.integer
在帮助页面可以看到关于它的简介,按照一般的理解这应该是判断一个object是否为整数啊,可是帮助文件中也提到,若输入is.integer(1),则返回false,并且之后定义了新的函数
is.wholenumber <-
    function(x, tol = .Machine$double.eps^0.5)  abs(x - round(x)) < tol

依次来判断是不是整数,这是为什么呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-4-6 21:55:54
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-7 09:30:08
这是判断整形变量而不是整数的。
> x<-1:5
> y<-c(1,2,3,4,5)
> is.integer(x)
[1] TRUE
> is.integer(y)
[1] FALSE
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-7 09:37:06
极限思想,两个数相减小于很小的数,就认为两个数是相等,round(x)是整数,以此判断x是否为整数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-7 09:54:53
jinkelazzz 发表于 2016-4-7 09:30
这是判断整形变量而不是整数的。
> x y is.integer(x)
[1] TRUE
嗯,的确是这样,按照你说的方法定义了x,y之后,x的类型显示为integer,而y的类型为numeric,但它们的内容其实是一样的,那么整型变量和数值型变量的区别在哪里?仅仅是说,数值形向量可以有类似y<-c(0.1,0.2,0.3)的小数定义吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-4-7 09:55:29
雾锁山城 发表于 2016-4-7 09:37
极限思想,两个数相减小于很小的数,就认为两个数是相等,round(x)是整数,以此判断x是否为整数
嗯~受教了,多谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群