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 :

Exporter une boucle ?


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Exporter une boucle ?
    Bonjour,

    Je suis coincé avec trois variables que j'aimerais exporter dans un fichier.
    Pour simplifier, la manip que j'ai faite est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for (A in 1:5)
    {
       for (B in 1:5)
       {
          C = A + B
          print (A)
          print (B)
          print (C)
       }
    }
    R m'écrit donc à l'écran les valeurs que prennent A, B et C sur toute la boucle. J'aimerais en fait exporter cette boucle en créant un fichier à trois colonnes (A, B et C), qui m'écrit les 5*5 valeurs que peuvent prendre A, B, et C.

    J'ai essayé d'exporter une variable en écrivant la commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    write.table (A, file="A_ok", row.names = TRUE, col.names = TRUE)

    Le problème est que dans le fichier d'export, seule la dernière valeur calculée par la boucle est écrite ! J'ai donc essayé d'intégrer la ligne de commande ci-dessus au sein de la boucle, mais sans succès non plus...

    Si quelqu'un pouvait me dépanner, ça serait sympa ! :-)

  2. #2
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Si j'ai bien compris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    X<-NULL
    for (A in 1:5)
    {
      for (B in 1:5)
      {
        C = A + B
        X <- rbind(X,cbind(A,B,C))    
      }
    }
     
    write.table(X, "out.dat", sep = ";")
    Cordialement.

  3. #3
    Membre confirmé
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Pour ce genre de calculs, pas besoin de boucle for en R:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    test <- expand.grid(A=1:5, B=1:5)
    test$C <- test$A + test$B
    write.table(test, file="test.txt", sep="\t")
    HTH

    Vincent

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Parfait,

    Merci à vous deux pour votre aide !

    Je ne suis juste pas certain d'avoir bien compris cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    X <- rbind(X,cbind(A,B,C))
    OK pour le cbind, mais comment le rbind fait-il pour écrire les valeurs ligne par ligne ?! (c'est en effet grâce au rbind que toute la boucle est exportée et non pas juste la dernière valeur !). Par ailleurs, le fait qu'une variable X soit créée à partir de la même variable X m'emmêle aussi les pinceaux.

Discussions similaires

  1. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  2. [phpPgAdmin] Exporter une base entière ?
    Par ovh dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 01/01/2004, 18h21
  3. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 14h37
  4. Pause dans une boucle
    Par HT dans le forum Langage
    Réponses: 4
    Dernier message: 03/06/2003, 08h52
  5. Réponses: 4
    Dernier message: 07/12/2002, 07h34

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