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 :

Nommer des tables automatiquement


Sujet :

R

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut Nommer des tables automatiquement
    Bonjour,

    Je cherche une moyen de nommer des tables automatiquement à partir de valeurs se trouvant dans une autre table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    c <- nrow(TableB)
     
    for (i in 1:c) {
      i <- tableA[tableA$var1 %in% (tableB[i,]),]
    }
    D'avance merci

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    regarde du côté de la fonction assign.

    cdlt

  3. #3
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut la fonction assign
    Bonjour,

    Voilà une alternative.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    nom_table = data.frame( nom = paste( "tab" , 1:10, sep = "_")) #table qui contient un variable nom des tables. 
     
    for ( i in 1:10){assign( as.character(nom_table$nom[i]) , data.frame( X = rep(i, 10)))} #assigner chaque nom à une table.
    Cordialement,

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut Nommer des tables "automatiquement"
    Bonjour,

    Merci pour vos retours. J'ai bien essayé quelque chose à partir de vos indications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (i in 1:(nrow(liste_epci))){(assign(as.character(liste_epci$EPCI[i]), sqldf("select * from exp_commune where EPCI like 'liste_epci$EPCI[i]'")))}
    R génère bien i tables mais elles sont vides...

    La table liste_epci contient une colonne (variable EPCI) contenant des codes (caractères).
    La table exp_commune contient une vingtaine de variable dont la variable EPCI également (caractères).

    L'objectif de ce code est de générer une table par code EPCI contenant les 20 variables de la table exp_commune filtrées par le code EPCI.
    Le code EPCI a deux rôles : 1/ de nommer la table 2/ de filtrer les données.

    Merci pour votre aide,

    Nicolas

  5. #5
    Membre averti
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Points : 343
    Points
    343
    Par défaut
    Bonjour,

    C'est normal que ca marche pas , parce qu'il cherche plutôt la chaine de caractère 'liste_epci$EPCI[i]' qui n'existe pas dans ton fichier. et du coup génère des tables vides.

    Essaye plutôt la fonction subset de R

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    for (i in 1:(nrow(liste_epci)))
      {assign(as.character(liste_epci$EPCI[i]), subset(exp_commune , exp_commune$EPCI == liste_epci$EPCI[i]))}
    Cordialement,

    Marouane

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut Nommer des tables "automatiquement" : fin
    Re-

    merci pour cette rapidité !
    çà fonctionne...génial !

    Bon après-midi,

    Nicolas

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

Discussions similaires

  1. [AC-2003] Importer des formulaires/Lier des tables automatiquement
    Par tarnx dans le forum VBA Access
    Réponses: 5
    Dernier message: 10/09/2010, 16h18
  2. Réponses: 3
    Dernier message: 09/07/2010, 08h51
  3. Travailler avec des tables automatiques
    Par SonnyFab dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/07/2010, 12h02
  4. Travailler avec des tables automatiques
    Par SonnyFab dans le forum Langage SQL
    Réponses: 0
    Dernier message: 29/06/2010, 14h37
  5. supprimer lignes des tables automatiquement
    Par fangriz dans le forum JDBC
    Réponses: 8
    Dernier message: 24/08/2009, 00h35

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