Kann ich R zwingen, reguläre Zahlen anstelle der e+10
ähnlichen Notation zu verwenden? Ich habe:
1.810032e+09
# and
4
innerhalb des gleichen Vektors und wollen sehen:
1810032000
# and
4
Ich erstelle eine Ausgabe für ein altmodisches Programm und muss eine Textdatei mit schreiben cat
. Das funktioniert soweit gut, aber ich kann die e+10
Notation dort einfach nicht verwenden .
r
number-formatting
options
scientific-notation
defaults
Matt Bannert
quelle
quelle
Antworten:
Dies ist eine Grauzone. Sie müssen sich daran erinnern, dass R immer eine Druckmethode aufruft und diese Druckmethoden einige Optionen abhören. Einschließlich "scipen" - eine Strafe für die wissenschaftliche Darstellung. Von
help(options)
:Beispiel:
Das heißt, ich finde es immer noch fudgeworthy. Der direkteste Weg ist die Verwendung
sprintf()
mit expliziter Breite, zsprintf("%.5f", ran2)
.quelle
options("scipen"=0, "digits"=7)
(das sind die Standardwerte)options("scipen"=100, "digits"=4)
an den Anfang des Codes verschieben und denjenigen, der nicht darunter liegt ... mit den entsprechenden Hinweisen. Es kann für jemanden verwirrend sein, der nach einer schnellen Lösung sucht (und Google zeigt die erste als Ergebnis an).Dies kann erreicht werden, indem die wissenschaftliche Notation in R deaktiviert wird.
quelle
Meine Lieblingsantwort:
Dies gibt, was Sie wollen, ohne in den R-Einstellungen herumspielen zu müssen.
Beachten Sie, dass anstelle eines Zahlenobjekts eine Zeichenfolge zurückgegeben wird
quelle
justified = "none"
Andernfalls werden Leerzeichen angezeigt, die sie auf dieselbe Länge auffüllen.format(1e6, scientific=FALSE)
gibt zurück ,"1000000"
währendas.character(1e6)
zurückgegeben wird"1e+06"
, daher gibt es einen Unterschied zwischen den beiden Methoden.Fügen Sie
options(scipen = 999)
Ihre .Rprofile-Datei ein, damit sie standardmäßig automatisch ausgeführt wird . (Verlassen Sie sich nicht darauf, dies manuell zu tun.)(Dies sagt etwas anderes als andere Antworten: Wie?
quelle