【发布时间】:2017-04-19 10:04:11
【问题描述】:
为什么在R中输出如下?
> class(seq(1,10))
[1] "integer"
> class(seq(1,10,1))
[1] "numeric"
是不是因为可以调用seq(1,10,0.5) 从而创建双精度值?但是那我为什么不检查起点和步长是整数还是这太费劲了?
【问题讨论】:
-
seq.int 和数字参数的默认 seq 方法返回“整数”或“双”类型的向量:程序员不应该依赖哪个。
-
嗯,好的,我应该阅读文档...但它只是定义还是这个选择背后有更基本的东西?
-
为整数输出提供整数输入,
class(seq(1L, 10L, 1L))。 -
请参阅r.789695.n4.nabble.com/…,其中也讨论了这一点,并声称 1 被读取为数字,除非您按照@MartinMorgan 的建议进行操作。他们说,seq.int 也有 int,而不是整数。