2016-09-21 22 views
7

Tôi muốn có đầu ra nhất quán cho một tập lệnh R cụ thể. Trong trường hợp này, tôi muốn tất cả đầu ra dạng số phải có ký hiệu khoa học với chính xác hai chữ số thập phân.Buộc đầu ra R là ký hiệu khoa học với tối đa hai số thập phân

Ví dụ:

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

tôi đã cố gắng sử dụng các tùy chọn sau:

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

này đã cho tôi kết quả:

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

tôi thu được kết quả tương tự khi tôi đã cố gắng:

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

Cảm ơn bạn đã được tư vấn.

+1

Bạn gần như có: 'tùy chọn (chữ số = 3, scipen = -2)'. Tôi đã xóa điều này như một câu trả lời mặc dù bởi vì tôi không biết nếu bạn có số lượng thực sự lớn - điều này sẽ không làm việc cho điều đó. Sẽ tốt hơn nếu ai đó biết một cách thực sự toàn diện để làm điều này qua các loại số, nhưng trong một nhúm và nếu bạn chỉ có số lượng nhỏ, điều này sẽ làm điều đó. – HFBrowning

Trả lời

15

Tôi nghĩ có lẽ tốt nhất nên sử dụng formatC thay vì thay đổi cài đặt chung.

Đối với trường hợp của bạn, nó có thể là:

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

nào mang lại:

[1] "5.00e-02" "5.67e-02" "2.70e-08" 
Các vấn đề liên quan