จะปิดการใช้สัญลักษณ์ทางวิทยาศาสตร์ได้อย่างไร


296

ฉันมีไฟล์ข้อมูลที่มีคอลัมน์ค่า p และฉันต้องการเลือกค่า p เหล่านี้

> 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

วิธีการเลือก:

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

ฟังก์ชั่นใช้งานได้ดีจริง ๆ ถ้าฉันใช้ในอาร์ แต่ถ้าฉันเรียกใช้ในแอพพลิเคชั่นอื่น (กาแล็กซี่) ตัวเลขที่ไม่มีe-01เช่น4.835312e-04นั้นจะไม่ถูกโยนทิ้ง

มีวิธีอื่นในการบันทึกค่า p เช่น0.0004835312แทนที่จะเป็น4.835312e-04อย่างไร


4
มีความเป็นไปได้ที่ซ้ำกันของForce R ที่จะไม่ใช้สัญลักษณ์แทน (เช่น e + 10)?
Scarabee

นั่นคือสิ่งที่ซ้ำกันของสิ่งนี้
SabreWolfy

คำตอบ:


541

คุณสามารถลบเครื่องหมายทางวิทยาศาสตร์อย่างมีประสิทธิภาพในการพิมพ์ด้วยรหัสนี้:

options(scipen=999)

55
หากคุณต้องการเปลี่ยนกลับเป็นฉัน: =) ค่าเริ่มต้นscipenคือ0(ดูgetOption("scipen"))
TMS

32
มีความเป็นไปได้หรือไม่ที่จะใช้scipenเฉพาะในคำสั่งเดียวเช่นเดียวกับในprint(x, dig = 6)? เช่นsummary(m1, scipen = 999)หรือprint(x, scipen = 999)? นั่นจะเท่ห์ เนื่องจากการตั้งค่าส่วนกลางอาจมีปัญหา
TMS

30
@TMS: คำตอบอยู่ที่นี่: stackoverflow.com/questions/21509346/… : format(functionResult, scientific=FALSE);หรือas.integer(functionResult);
iNyar

2
@TMS คุณจะปิดการใช้งานโดยค่าเริ่มต้นดังนั้นเมื่อเซสชั่นใหม่เปิดคุณไม่ต้องทำซ้ำคำสั่ง?
เฮอร์แมนทูตรอต

4
พฤติกรรมเริ่มต้น R ที่ต้องการทำให้ชีวิตของคุณง่ายขึ้นทำให้เป็นนรก
zakrapovic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.