2016-12-05 54 views
1

爲什麼R中的輸出結果如下?R:不同類別的結果seq()

> class(seq(1,10)) 
[1] "integer" 
> class(seq(1,10,1)) 
[1] "numeric" 

是因爲一個可以打電話seq(1,10,0.5),從而創造雙重價值?但是,爲什麼我不檢查起始點和步長是否是整數或者這太費勁了?

+1

seq.int和數字參數的seq默認方法返回類型爲「integer」或「double」的向量:程序員不應該依賴哪個。 –

+0

嗯好的我應該閱讀文檔......但是它只是定義還是在這個選擇背後有更重要的東西? –

+0

爲整型輸出提供整型輸入,'class(s​​eq(1L,10L,1L))'。 –

回答

0

我認爲這是因爲你給出的第三個選項。在數字可以的情況下,整數不能取R中的十進制值。當你在沒有第三個參數的情況下定義它時,它將把該類作爲整數,但是當你定義第三個參數時,它也可以是一個浮點值。所以R對此定義