IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Séparateur de colonnes dans les sorties de tableaux


Sujet :

R

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut Séparateur de colonnes dans les sorties de tableaux
    Bonjour

    Lorsqu'on édite un tableau de données, par exemple en faisant print(Tableau), R insère un espace entre chaque colonnes.

    Quelqu'un saurait-il s'il est possible de changer le séparateur (ici espace) en autre chose ; pour les connaisseurs, un peu comme ce que rendait possible l'option "formchar" de SAS ?

  2. #2
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Bon, je me réponds à moi-même, ayant trouvé un moyen imparfait d'obtenir quelque chose d'approchant.

    Avec la fonction write.table.
    Par exemple, write.table(Tableau,"Sortie.txt",sep="{}") permet de mettre {} entre chaque colonne.
    Le problème ici, c'est que lorsqu'on édite le fichier "Sortie.txt", on va avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Nom{}Nombre
    A{}2312
    AAA{}16
    BB{}443
    CCCCC{}999
    D{}781
    {}8765
    E{}5
    plutôt que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Nom  {}Nombre
    A    {}  2312
    AAA  {}    16
    BB   {}   443
    CCCCC{}   999
    D    {}   781
         {}  8765
    E    {}     5
    On a donc bien un séparateur de colonnes, mais sans la justification.

  3. #3
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Formatage tableaux
    Bonjour,

    Ça dépend de la finalité de votre demande.

    • Pour obtenir un résultat au format texte, vous pouvez utiliser la fonction kable() du package knitr. (La fonction print() n'est pas obligatoire dans la console. Je l'ai rajoutée pour pouvoir utiliser le package reprex).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Tableau <- read.table(header=TRUE, na.strings="NA", text="
    Nom   Nombre
    A     2312
    AAA   16
    BB    443
    CCCCC 999
    D     781
    NA    8765
    E     5")
     
    options(knitr.kable.NA='')
    print(knitr::kable(Tableau))
    #> 
    #> 
    #> |Nom   | Nombre|
    #> |:-----|------:|
    #> |A     |   2312|
    #> |AAA   |     16|
    #> |BB    |    443|
    #> |CCCCC |    999|
    #> |D     |    781|
    #> |      |   8765|
    #> |E     |      5|
     
    # Created on 2021-01-28 by the reprex package (v0.3.0.9001)
    • Différents packages permettent de formater des tableaux dans un format plus complexe :
    --- https://stackoverflow.com/questions/...ted-data-frame
    --- https://rfortherestofus.com/2019/11/...l-tables-in-r/

    Cordialement,

  4. #4
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    543
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 543
    Points : 239
    Points
    239
    Par défaut
    Citation Envoyé par mgdondon Voir le message
    • Pour obtenir un résultat au format texte, vous pouvez utiliser la fonction kable() du package knitr. (La fonction print() n'est pas obligatoire dans la console. Je l'ai rajoutée pour pouvoir utiliser le package reprex).
    Ouaaahhh mais c'est génial ça !
    C'est exactement ce que je cherche depuis au moins des années

    Merci Mille fois mgdondon !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/10/2009, 11h40
  2. Réponses: 2
    Dernier message: 17/09/2009, 07h45
  3. [Reporting] ordre des colonnes dans une sortie de proc freq
    Par PhYx dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 22/07/2008, 18h04
  4. Réponses: 2
    Dernier message: 16/04/2008, 20h06
  5. Séparateur de colonnes dans un fichier texte
    Par robert323 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/01/2008, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo