Comment utiliser la fonction sprintf dans R pour imprimer des chaînes formatées



Vous pouvez utiliser la fonction sprintf() dans R pour imprimer des chaînes formatées.

Cette fonction utilise la syntaxe de base suivante :

sprintf(fmt,x)

où:

  • fmt : Le format à utiliser
  • x : La valeur à formater

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Exemple 1 : formater les chiffres après la virgule décimale

Le code suivant montre comment utiliser sprintf() pour afficher uniquement deux chiffres après la virgule :

#define value
x <- 15.49347782

#only display 2 digits after decimal place
sprintf("%.2f", x)

[1] "15.49"

Exemple 2 : formater les chiffres avant la virgule décimale

Le code suivant montre comment utiliser sprintf() pour afficher dix chiffres avant la virgule :

#define value
x <- 15435.4

#display 10 total digits before decimal place
sprintf("%10.f", x)

[1] "     15435"

Comme il n’y avait que cinq chiffres avant la virgule décimale pour commencer, la fonction sprintf() a ajouté cinq espaces supplémentaires au début de la chaîne pour obtenir un total de 10 chiffres avant la virgule décimale.

Exemple 3 : Formater la valeur à l’aide de la notation scientifique

Le code suivant montre comment utiliser sprintf() pour afficher une valeur en notation scientifique :

#define value
x <- 15435.4

#display in scientific notation using lowercase e
sprintf("%e", x)

[1] "1.543540e+04"

#display in scientific notation using uppercase E
sprintf("%E", x)

[1] "1.543540E+04" 

Exemple 4 : formater une valeur dans une chaîne

Le code suivant montre comment utiliser sprintf() pour formater une valeur dans une chaîne :

#define value
x <- 5.4431

#display string with formatted value
sprintf("I rode my bike about %.1f miles", x)

[1] "I rode my bike about 5.4 miles"

Exemple 5 : formater plusieurs valeurs dans une chaîne

Le code suivant montre comment utiliser sprintf() pour formater plusieurs valeurs dans une chaîne :

#define values
x1 <- 5.4431
x2 <- 10.778342

#display string with formatted values
sprintf("I rode my bike %.1f miles and then ran %.2f miles", x1, x2)

[1] "I rode my bike 5.4 miles and then ran 10.78 miles"

Ressources additionnelles

Les didacticiels suivants expliquent comment utiliser d’autres fonctions courantes dans R :

Comment utiliser les fonctions coller et coller0 dans R
Comment utiliser la fonction replace() dans R
Comment utiliser la fonction View() dans R

Ajouter un commentaire

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