Làm thế nào để vô hiệu hóa ký hiệu khoa học?


297

Tôi có một khung dữ liệu với một cột các giá trị p và tôi muốn thực hiện lựa chọn trên các giá trị p này.

> pvalues_anova
[1] 9.693919e-01 9.781728e-01 9.918415e-01 9.716883e-01 1.667183e-02
[6] 9.952762e-02 5.386854e-01 9.997699e-01 8.714044e-01 7.211856e-01
[11] 9.536330e-01 9.239667e-01 9.645590e-01 9.478572e-01 6.243775e-01
[16] 5.608563e-01 1.371190e-04 9.601970e-01 9.988648e-01 9.698365e-01
[21] 2.795891e-06 1.290176e-01 7.125751e-01 5.193604e-01 4.835312e-04

Cách lựa chọn:

anovatest<- results[ - which(results$pvalues_anova < 0.8) ,]

Hàm này hoạt động rất tốt nếu tôi sử dụng nó trong R. Nhưng nếu tôi chạy nó trong một ứng dụng khác (galaxy), những con số không có e-01ví dụ như 4.835312e-04không bị loại bỏ.

Có cách nào khác để ghi chú giá trị p, như 0.0004835312thay vì 4.835312e-04không?



Đó là một bản sao của điều này.
SabreWolfy

Câu trả lời:


542

Bạn có thể loại bỏ ký hiệu khoa học một cách hiệu quả khi in bằng mã này:

options(scipen=999)

55
Nếu bạn muốn hoàn nguyên lại như tôi: =), mặc định scipen0(xem getOption("scipen"))
TMS

32
Có khả năng nào scipenchỉ sử dụng trong một lệnh cụ thể, như trong print(x, dig = 6)không? Chẳng hạn như summary(m1, scipen = 999)hay print(x, scipen = 999)? Điều đó sẽ rất tuyệt. Bởi vì các thiết lập toàn cầu có thể có vấn đề.
TMS

30
@TMS: Câu trả lời là đây: stackoverflow.com/questions/21509346/ trên : format(functionResult, scientific=FALSE);hoặcas.integer(functionResult);
iNyar

2
@TMS làm thế nào để bạn vô hiệu hóa nó theo mặc định để khi một phiên mới mở ra, bạn không phải làm lại lệnh?
Herman Toothrot

4
Hành vi mặc định R muốn đơn giản hóa cuộc sống của bạn khiến nó trở thành địa ngục
zakrapovic
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.