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=TRUEzu formatoder preserve.width="none"zu prettyNumverhindern 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=Tzu formatoder preserve.width="none"zu prettyNumzu 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.
scientificwas 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_formatkeine 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 scalesPaket (Teil des Tidyverse) genau dies:
> library(scales)
> x <- 10e5
> comma(x)
[1] "1,000,000"
Das scalesPaket scheint sehr gut zu spielen ggplot2und ermöglicht eine genaue Kontrolle darüber, wie Zahlen in Plots und Diagrammen angezeigt werden.