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.

War es hilfreich?

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

https://cran.rstudio.com/web/packages/xtable/ xtable.pdf

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=",")))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top