ajouter des virgules en nombre pour la sortie
Question
Je suis sortie un dataframe html via xtable
. Je veux ajouter des virgules pour nombres dans une colonne de couple de la table. Je me suis dit avant moi mon hack pâte je vérifier s'il est construit de manière à le faire.
La solution
Vous voudrez peut-être envisager de transformer la colonne en utilisant 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"
Autres conseils
Un grand merci à Jonathan Chang pour sa réponse. formatC
semble être une fonction extrêmement utile. Cela m'a inspiré de lire la documentation pour elle, où je trouvai prettyNum
, qui se révèle être une solution assez élégante à un problème similaire que je faisais. Voici un exemple viable minimum de ce que je faisais pour ajouter des virgules pour les numéros dans une trame de données nommée enrollment.summary
.
xtable(prettyNum(enrollment.summary,big.mark=","))
Vous pouvez également essayer d'utiliser l'argument auj '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 juste, vous pouvez simplement utiliser des virgules:
int_vals <- c(1234, 5678)
comma(int_vals)
## [1] "1,234" "5,678"
pour mettre en forme des résumés 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=",")))