Kommas in Nummer für die Ausgabe hinzufügen
Frage
Ich bin zum Ausgeben eines Datenrahmens zu html über xtable
. Ich möchte Kommas Zahlen in ein paar Spalten der Tabelle hinzuzufügen. Ich dachte, bevor ich meine eigene Paste hat hacken würde ich prüfen, ob ein in Art und Weise aufgebaut ist, dies zu tun.
Lösung
Sie können die Spalte formatC
berücksichtigen wollen Umwandlung
> formatC(1:10 * 100000, format="d", big.mark=",")
[1] "100,000" "200,000" "300,000" "400,000" "500,000" "600,000"
[7] "700,000" "800,000" "900,000" "1,000,000"
Andere Tipps
Vielen Dank an Jonathan Chang für seine Antwort. formatC
sieht eine äußerst nützliche Funktion. Dies inspirierte mich in der Dokumentation, es zu lesen, wobei ich prettyNum
gefunden, die eine recht elegante Lösung für ein ähnliches Problem entpuppte ich hatte. Hier ist ein Minimum tragfähige Beispiel dafür, was ich getan habe Kommas Zahlen in einem Datenrahmen namens enrollment.summary
hinzuzufügen.
xtable(prettyNum(enrollment.summary,big.mark=","))
Sie können auch die Funktionen erzeugt Argument versuchen Sie es mit 'format.args'
## Demonstration of additional formatC() arguments.
print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))
von hier
Dies ist eine späte Antwort, aber man könnte auch scales::comma_format
wie folgt verwenden:
library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"
Für nur ganzzahlige Werte, können Sie einfach Komma verwenden:
int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
einige Zusammenfassungen von dplyr
zu formatieren, hier ist vorformulierten Code:
df %>%
summarise(mu=mean(big_values),
min=min(big_values),
max=max(big_values)) %>%
mutate_each(funs(prettyNum(., big.mark=",")))