R:为什么"相同(c(1:3),c(1,2,3))"假?

时间:2017-03-21 18:34:09

标签: r integer double

为什么identical(c(1:3), c(1, 2, 3))是假的?换句话说,为什么前者是整数而后者是双?

2 个答案:

答案 0 :(得分:16)

GetWindowThreadProcessId

简而言之,R> class(1:3) [1] "integer" R> class(c(1,2,3)) [1] "numeric" R> 作为序列运算符返回整数“因为这是人们真正想要的”。

因此:

:

答案 1 :(得分:5)

它与冒号运算符有关。来自?':'help(':')

详细信息

  

二元运算符:有两个含义:对于因子a:b等价于交互(a,b)(但是对这些级别进行排序和标记的方式不同)。

     

对于来自以下的其他参数:to等于seq(from,to),并以1或-1的步长生成从from到to的序列。如果值与整数相差大约1e-7的数字模糊,则将包括值。内部强制非数字参数(因此没有调度方法)到数值复杂值将丢弃带有警告的虚部。

  

对于数字参数,是一个数字向量。如果from是整数值且结果可在R整数类型中表示,则此类型将为整数类型,否则为" double" (又名模式"数字")。