Antworten:
Sie können entweder Format oder PrettyNum ausprobieren, aber beide Funktionen geben einen Vektor von Zeichen zurück. Ich würde das nur zum Drucken verwenden.
> prettyNum(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
> format(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
EDIT: Wie Michael Chirico im Kommentar sagt:
Beachten Sie, dass diese den Nebeneffekt haben, dass die gedruckten Zeichenfolgen mit Leerzeichen aufgefüllt werden, zum Beispiel:
> prettyNum(c(123,1234),big.mark=",")
[1] " 123" "1,234"
In trim=TRUE
zu format
oder preserve.width="none"
zu prettyNum
verhindern dies:
> prettyNum(c(123,1234),big.mark=",", preserve.width="none")
[1] "123" "1,234"
> format(c(123,1234),big.mark=",", trim=TRUE)
[1] "123" "1,234"
prettyNum(c(123,1234),big.mark=",")
; gibt " 123" "1,234"
. hinzufügen trim=T
zu format
oder preserve.width="none"
zu prettyNum
zu diesem zu verhindern.
format(c(12345678,0.001234),big.mark=",", trim=TRUE, digits = 2, scientific = FALSE)
ergibt sich "12.345.678.0000" "0.0012", so dass genug gesehen werden kann. Das heißt, die Formatierung der Orte erfolgt nicht Element für Element. Hat mich erwischt und wollte das teilen.
scientific
was im Heuhaufen der Argumente verborgen ist format
. Vielen Dank!
Siehe ?format
:
> format(1e6, big.mark=",", scientific=FALSE)
[1] "1,000,000"
>
Die anderen Antworten funktionieren natürlich - aber ich habe sie immer benutzt
library(scales)
comma_format()(1000000)
comma_format
keine reellen Zahlen verarbeitet wurden, aber jetzt können Sie Folgendes tun: Dies scales::comma_format(digits = 12)(1000000.789)
führt zu Folgendem : "1,000,000.789"
.
Ich denke, Joes Kommentar zu MatthewR bietet die beste Antwort und sollte hervorgehoben werden:
Ab September 2018 macht das scales
Paket (Teil des Tidyverse
) genau dies:
> library(scales)
> x <- 10e5
> comma(x)
[1] "1,000,000"
Das scales
Paket scheint sehr gut zu spielen ggplot2
und ermöglicht eine genaue Kontrolle darüber, wie Zahlen in Plots und Diagrammen angezeigt werden.