Formater les nombres sous forme de pourcentages dans R (avec exemples)



Le moyen le plus simple de formater des nombres sous forme de pourcentages dans R consiste à utiliser la fonction percent() du package scales . Cette fonction utilise la syntaxe suivante :

pourcentage(x, précision = 1)

où:

  • x : l’objet à formater en pourcentage.
  • précision : un nombre auquel arrondir. Par exemple, utilisez 0,01 pour arrondir à deux décimales.

Ce tutoriel fournit plusieurs exemples d’utilisation pratique de cette fonction.

Exemple 1 : formater des pourcentages dans un vecteur

Le code suivant montre comment formater des nombres sous forme de pourcentages dans un vecteur :

library(scales)

#create data
data <- c(.3, .7, .14, .18, .22, .78)

#format numbers as percentages
percent(data, accuracy = 1)

[1] "30%" "70%" "14%" "18%" "22%" "78%"

#format numbers as percentages with one decimal place
percent(data, accuracy = 0.1)

[1] "30.0%" "70.0%" "14.0%" "18.0%" "22.0%" "78.0%"

#format numbers as percentages with two decimal places
percent(data, accuracy = 0.01)

[1] "30.00%" "70.00%" "14.00%" "18.00%" "22.00%" "78.00%"

Exemple 2 : formater des pourcentages dans une colonne de bloc de données

Le code suivant montre comment formater des nombres sous forme de pourcentages dans une colonne d’un bloc de données :

library(scales)

#create data frame
df = data.frame(region = c('A', 'B', 'C', 'D'),
                growth = c(.3, .7, .14, .18))

#view data frame
df

  region growth
1      A   0.30
2      B   0.70
3      C   0.14
4      D   0.18

#format numbers as percentages in growth column
df$growth <- percent(df$growth, accuracy=1)

#view updated data frame
df

  region growth
1      A    30%
2      B    70%
3      C    14%
4      D    18%

Exemple 3 : formater des pourcentages dans plusieurs colonnes de blocs de données

Le code suivant montre comment formater des nombres sous forme de pourcentages dans plusieurs colonnes d’un bloc de données :

library(scales)

#create data frame
df = data.frame(region = c('A', 'B', 'C', 'D'),
                growth = c(.3, .7, .14, .18),
                trend = c(.04, .09, .22, .25))

#view data frame
df
  region growth trend
1      A   0.30  0.04
2      B   0.70  0.09
3      C   0.14  0.22
4      D   0.18  0.25

#format numbers as percentages in growth and trend columns
df[2:3] <- sapply(df[2:3], function(x) percent(x, accuracy=1))

#view updated data frame
df

  region growth trend
1      A    30%    4%
2      B    70%    9%
3      C    14%   22%
4      D    18%   25%

Vous pouvez trouver plus de didacticiels R sur cette page .

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *