2016-08-14 47 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" 
相關問題