Réponses:
Vous pouvez essayer format ou prettyNum, mais les deux fonctions renvoient un vecteur de caractères. Je n'utiliserais cela que pour l'impression.
> prettyNum(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
> format(12345.678,big.mark=",",scientific=FALSE)
[1] "12,345.68"
EDIT: Comme le dit Michael Chirico dans le commentaire:
Sachez que ceux-ci ont pour effet secondaire de remplir les chaînes imprimées d'un espace vide, par exemple:
> prettyNum(c(123,1234),big.mark=",")
[1] " 123" "1,234"
Ajouter trim=TRUEà formatou preserve.width="none"à prettyNumpour empêcher cela:
> 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=","):; donne " 123" "1,234". ajouter trim=Tà formatou preserve.width="none"à en prettyNumempêcher.
format(c(12345678,0.001234),big.mark=",", trim=TRUE, digits = 2, scientific = FALSE)Donne donc "" 12,345,678,0000 "" 0,0012 "pour que vous puissiez en voir suffisamment. c'est-à-dire que le formatage des lieux ne se fait pas élément par élément. M'a pris tellement envie de partager ça.
scientificce qui est caché dans la botte de foin d'arguments format. Merci!
Voir ?format:
> format(1e6, big.mark=",", scientific=FALSE)
[1] "1,000,000"
>
Les autres réponses publiées fonctionnent évidemment - mais j'ai toujours utilisé
library(scales)
comma_format()(1000000)
comma_formatne gère pas les nombres réels , mais maintenant , vous pouvez faire ce qui suit: scales::comma_format(digits = 12)(1000000.789)qui donne le résultat suivant: "1,000,000.789".
Je pense que le commentaire de Joe à MatthewR offre la meilleure réponse et devrait être souligné:
Depuis septembre 2018, le scalespackage (qui fait partie du Tidyverse) fait exactement ceci:
> library(scales)
> x <- 10e5
> comma(x)
[1] "1,000,000"
Le scalespackage semble très bien jouer avec ggplot2, permettant un contrôle précis de la façon dont les valeurs numériques sont affichées dans les graphiques et les graphiques.