2016-09-21 124 views
7

我希望爲特定R腳本提供一致的輸出。在這種情況下,我希望所有的數字輸出都採用科學計數法,精確到小數點後兩位。強制R輸出爲最多兩位小數的科學記數法

例子:

0.05 --> 5.00e-02 
0.05671 --> 5.67e-02 
0.000000027 --> 2.70e-08 

我使用下列選項嘗試:

options(scipen = 1) 
options(digits = 2) 

這給我的結果:

0.05 --> 0.05 
0.05671 --> 0.057 
0.000000027 --> 2.7e-08 

我得到相同的結果時,我想:

options(scipen = 0) 
options(digits = 2) 

謝謝你的任何建議。

+1

你幾乎有:'選項(位= 3,scipen = -2)'。我刪除了這個答案,因爲我不知道你是否真的有很多數字 - 這是行不通的。如果其他人知道在數字類型中這樣做的真正全面的方式會更好,但是如果你只有小數字,那麼這樣做會更好。 – HFBrowning

回答

15

我認爲最好使用formatC而不是更改全局設置。

對於你的情況,則可能是:

numb <- c(0.05, 0.05671, 0.000000027) 
formatC(numb, format = "e", digits = 2) 

其中產量:

[1] "5.00e-02" "5.67e-02" "2.70e-08" 
相關問題