Come disabilitare la notazione scientifica?


297

Ho un dataframe con una colonna di valori p e voglio fare una selezione su questi valori 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

Modo di selezione:

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

La funzione funziona davvero bene se la uso in R. Ma se la eseguo in un'altra applicazione (galassia), i numeri che non hanno e-01ad es. 4.835312e-04Non vengono eliminati.

C'è un altro modo per annotare i valori p, come 0.0004835312invece di 4.835312e-04?



Questo è un duplicato di questo.
SabreWolfy,

Risposte:


542

È possibile rimuovere efficacemente la notazione scientifica nella stampa con questo codice:

options(scipen=999)

55
Se vuoi ripristinarlo come me: =), il valore predefinito scipenè 0(vedi getOption("scipen"))
TMS

32
C'è qualche possibilità di usare scipensolo in un comando particolare, come in print(x, dig = 6)? Come summary(m1, scipen = 999)o print(x, scipen = 999)? Quello dovrebbe essere bello. Perché l'impostazione globale potrebbe essere problematica.
TMS,

30
@TMS: La risposta è qui: stackoverflow.com/questions/21509346/... : format(functionResult, scientific=FALSE);oas.integer(functionResult);
inyar

2
@TMS come si disabilita per impostazione predefinita, quindi quando si apre una nuova sessione non è necessario ripetere il comando?
Herman Toothrot,

4
Il comportamento predefinito di R che vuole semplificare la tua vita lo rende un inferno
zakrapovic il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.