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

最佳答案

R> class(1:3)
[1] "integer"
R> class(c(1,2,3))
[1] "numeric"
R>


简而言之,:作为序列运算符将返回整数“因为这是人们真正想要的”。

因此:

R> identical(1:3, c(1L,2L,3L))
[1] TRUE
R> identical(1*(1:3), c(1,2,3))
[1] TRUE
R>

08-24 16:11