2016-08-14 40 views
1

我知道R将保存我们默认为“双节”输入任何数字。但是,如果我运行下面的代码,这是给我两个不同的答案R-差介乎C(1:6)和在typeof运算()功能的情况下C(1,2,3,4,5,6)?

CODE 1

die <- c(1:6) 
typeof(die) 

OUTPUT1: - [1] “整数”

CODE 2

die <- c(1,2,3,4,5,6) 
typeof(die) 

OUTPUT2: - [2]“double”

所以请澄清我为什么这个“整”如果我用c(1:6)和“双”如果直接指定列表中的所有元素?

回答

2

如果你这样做c(1L, 2L, 3L, 4L, 5L, 6L),你会得到“整数”,而不是“双规”。只需比较tyoeof(1)typeof(1L)即可。或者你可以在这里看到我的答案:How does is.integer work?

1:6是短期的seq.int(1, 6),所以你在整数存储模式的载体。

typeof(c(1L, 2L, 3L, 4L, 5L, 6L)) 
# [1] "integer" 

typeof(1:6) 
# [1] "integer" 

typeof(seq.int(1, 6)) 
# [1] "integer" 
相关问题