Ajouter des parenthèses sur toutes les valeurs d'un tableau

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Flora Grappelli
Messages : 30
Enregistré le : 25 Mar 2014, 15:22

Ajouter des parenthèses sur toutes les valeurs d'un tableau

Messagepar Flora Grappelli » 03 Fév 2017, 09:30

Bonjour,

J'ai un tableau dans lequel j'aimerais rajouter des parenthèses sur les valeurs de certaines lignes.
Voici mon essai :

Code : Tout sélectionner

 aa = c(-0.3 , 0.0, 0.0, 5.0)
 bb = c(100.0, 12.6, 98.3, 15.2)
 rbind( aa, paste ( "(",bb, ")" ) )


J'ai ainsi pensé à utiliser "paste" mais visiblement, il transforme en "character" et me supprime les zéros après la virgule.
Avec cette procédure, même les zéros du vecteur aa sont supprimés.
Or, je dois garder un chiffre après la virgule même si c'est un zéro !

Auriez-vous des idées pour rajouter des parenthèses sur certaines lignes de mon tableau tout en gardant les zéros après la virgule ?

Merci beaucoup pour toute votre aide !

Flora

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Ajouter des parenthèses sur toutes les valeurs d'un tableau

Messagepar Logez Maxime » 03 Fév 2017, 09:53

Bonjour,

pour ce genre de choses je te conseille sprintf :

Code : Tout sélectionner

sprintf("(%.1f)", bb)
[1] "(100.0)" "(12.6)"  "(98.3)"  "(15.2)"
Après quelque soit l'objet qui stockera tes informations (matrix ou data.frame) tu ne peux pas avoir deux formats de données en colonne (numerique et caractère). Donc si une partie est transformée en chaîne de caractère le reste des valeurs de la colonne le sera aussi.

Cordialement,
Maxime

Flora Grappelli
Messages : 30
Enregistré le : 25 Mar 2014, 15:22

Re: Ajouter des parenthèses sur toutes les valeurs d'un tableau

Messagepar Flora Grappelli » 03 Fév 2017, 10:16

Merci beaucoup Maxime ! ça fonctionne bien.

Donc si une partie est transformée en chaîne de caractère le reste des valeurs de la colonne le sera aussi.

Oui, c'est bien ce qui me semblait...

Je te remercie encore pour ton aide :-)

(Je suis toujours surprise par tes compétences et ta réactivité !)


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité