Je produis une trame de données en html via xtable
. Je veux ajouter des virgules aux nombres dans quelques colonnes du tableau. J'ai pensé avant de faire mon propre piratage de pâte que je vérifierais s'il y avait un moyen intégré de le faire.
Vous voudrez peut-être envisager de transformer la colonne à l'aide de formatC
> 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"
Un grand merci à Jonathan Chang pour sa réponse. formatC
semble être une fonction extrêmement utile. Cela m'a inspiré à lire la documentation, dans laquelle j'ai trouvé prettyNum
, qui s'est avéré être une solution assez élégante à un problème similaire que j'avais. Voici un exemple viable minimum de ce que j'ai fait pour ajouter des virgules aux nombres dans un bloc de données nommé enrollment.summary
.
xtable(prettyNum(enrollment.summary,big.mark=","))
Vous pouvez également essayer d'utiliser l'argument de fonction 'format.args'
## Demonstration of additional formatC() arguments.
print(fm1.table, format.args = list(big.mark = "'", decimal.mark = ","))
d'ici
Voici une réponse tardive, mais vous pouvez également utiliser scales::comma_format
comme suit:
library(scales)
values <- c(1000000.789, 8888.23)
comma_format(digits = 12)(values)
## [1] "1,000,000.789" "8,888.230"
Pour les valeurs entières uniquement, vous pouvez simplement utiliser une virgule:
int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
pour formater quelques résumés à partir de dplyr
, voici le code passe-partout:
df %>%
summarise(mu=mean(big_values),
min=min(big_values),
max=max(big_values)) %>%
mutate_each(funs(prettyNum(., big.mark=",")))