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 :

Problème creation DATA FRAME RSTUDIO.Desesperé


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut Problème creation DATA FRAME RSTUDIO.Desesperé
    Bonjour à toutes et à tous.
    Je dois faire une étude de l'impact des politiques de cohésion sur le PIB/Tete.Ma base de données sera structurée comme un panel.J'ai teléchargé les données sur le site de l'OCDE en format CVS.J'ai extrait les valeurs que je veux assembler dans ma base de données sous forme de colonnes côte à côte.
    Le PROBLEME est etant donné qu'il y'a des données manquantes pour certaines années,les colonnes sont de longueurs differentes d'ou impossibilité de faire mon data frame et en plus quand j'importe les données,les lignes avec des données manquantes sont tronquées.Je voudrais remplacer les cases vides par N/A pour avoir des colonnes de meme longueur.Je vous ai fait un screendshot de mon RSTUDIO.
    JE suis completement desesperé et votre aide me sera d'une grande aide.
    CordialementNom : Capture.PNG2.PNG
Affichages : 1225
Taille : 103,9 Ko

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour,
    le problème avec cbind outre qu'il faut des vecteurs de même taille , il faut que les colonnes que l'on veut joindre soit dans le même ordre.
    on préfere joindre 2 dataframes en précisant une ou plusieurs variables communes de jointure par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    library(dplyr)
    ##jointure des 2 dataframes df1 et df2 par les variables pays et annee
    inner_join(df1,df2, by = c("pays", "annee"))  ## garde les lignes df1 ayant  une correspondance avec df2
    left_join(df1,df2, by = c("pays", "annee")) ## garde toutes les lignes de df1 et complète éventuellement par des NA si pas de correspondance
    deuxième point important dans une jointure il faut décider ce que l'on veut garder:
    est ce que l'on veut garder seulement les lignes de df1 qui ont une correspondance avec df2, ou par ex on veut garder toutes les lignes de df1 et si il n'y a pas de correspondance on complète les lignes avec des NA, comme dans ton cas, mais il faut faire attention à l'ordre des jointure pour garder les bonnes lignes

    un graphique vaut mieux qu'un long discours

    Nom : jointure.png
Affichages : 757
Taille : 15,1 Ko
    personnellement j'utilise le package dplyr pour les jointures, mais il existe d'autres façon de faire

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 2
    Par défaut
    Bonjour Xavier,
    Donc chacun de mes sous tableaux devrait comprendre la colonne PAYS,ANNEE puis la valeur de la caracteristique avantr d'utilise LEFT_JOINT?Sachant que je veux fusionner plusieurs tableau comment specifier à R par exemple que je veux prendre les 3 colonnes de la base 1;les 3 colonnes de la base 2?
    Je suis debutant.Désolé si je suis long à comprendre.Merci

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 491
    Par défaut
    bonjour,
    si tous tes tableaux ont les colonnes PAYS,ANNEE, tu prends comme premier tableau le plus complet (comprenant tous les pays et toutes les années)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    library(dplyr)
    df1<-left_join(tab1,tab2,by = c('PAYS','ANNEE')
    df2<-left_join(df1,tab3,by = c('PAYS','ANNEE')
    ## et ainsi de suite
    tu obtiendras un tableau final ayant les colonnes PAYS,ANNEE et toutes les autres colonnes de l'ensemble des tableaux fusionnés
    l 'exemple de code ci-dessus est basique et peut être amélioré mais son optimisation serait plus compliqué à comprendre

Discussions similaires

  1. Problème basic - data.frame
    Par Artaud dans le forum R
    Réponses: 7
    Dernier message: 15/03/2017, 11h55
  2. Un problème particulier (data.frame)
    Par Eliam dans le forum R
    Réponses: 8
    Dernier message: 19/05/2015, 11h49
  3. mean() sur ligne data.frame : problème des levels
    Par AustinPower999 dans le forum R
    Réponses: 0
    Dernier message: 01/04/2013, 22h11
  4. Problèmes données data.frame
    Par vincent1989 dans le forum R
    Réponses: 4
    Dernier message: 15/02/2013, 19h26
  5. Réponses: 3
    Dernier message: 20/09/2011, 10h24

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