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

 

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 10
    Points
    10

    Par défaut Sélection d'une partie d'une dataframe

    Hello tout le monde !

    J'aimerais sélectionner une partie d'une data frame à partir de la data frame elle même (HPMoy) et d'une liste de nom qui restreint le nombre (Portefeuille_Nominales$Client)
    J'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HPMoy_Portefeuille <- HPMoy[which(names(HPMoy) == Portefeuille_Nominales$Client)]
    Mais on me renvoi :
    Warning messages:
    1: In is.na(e1) | is.na(e2) :
    la taille d'un objet plus long n'est pas multiple de la taille d'un objet plus court
    2: In `==.default`(names(HPMoy), Portefeuille_Nominales$Client) :
    la taille d'un objet plus long n'est pas multiple de la taille d'un objet plus court
    je sais que les deux objets ne sont pas de la même longueurs mais le but de mon opération est justement d'avoir une dataframe uniquement avec les clients contenu dans "Portefeuille_Nominales$Client".

    Comment pourrais-je faire sans m'arracher les cheveux ?

    merci d'avance la communauté

    Cordialement

    Wenchetan

  2. #2
    Membre confirmé
    Homme Profil pro
    Chercheur
    Inscrit en
    décembre 2015
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2015
    Messages : 211
    Points : 509
    Points
    509

    Par défaut

    Ce que tu as écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HPMoy_Portefeuille <- HPMoy[which(names(HPMoy) == Portefeuille_Nominales$Client)]
    pose plusieurs problèmes :

    -- 1er problème
    1) names( HPMoy) sont les noms des colonnes du data.frame
    2) Portefeuille_Nominales$Client est le contenu de la colonne Client du data.frame
    -> Il y a donc apparemment un problème de logique dans la sélection.

    -- 2eme problème
    Le membre de droite du test d'égalité est un vecteur ainsi que celui de gauche, or ce test utilisant == suppose qu'on cherche une valeur unique, il faudrait donc écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HPMoy_Portefeuille <- HPMoy[which(names(HPMoy) %in% Portefeuille_Nominales$Client)]
    -- 3ème problème, ce que tu sélectionnes dans HPMoy_Portefeuille ce sont des colonnes du data.frame comme tu le ferais pour sélectionner des éléments d'une liste pour créer une sous-liste, le data.frame étant un type particulier de liste. Si tu cherches des lignes, il ne faut pas oublier la virgule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HPMoy_Portefeuille <- HPMoy[test_de_selection_des_lignes,]

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    avril 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2018
    Messages : 9
    Points : 10
    Points
    10

    Par défaut

    Merci beaucoup pour tes explications elles me serviront beaucoup pour la suite,
    Pour mon problème il a suffit de remplacer == par %in% donc impeccable !!
    Encore Merci !

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

Discussions similaires

  1. donner une couleur a une partie d'une forme
    Par ralf91 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 04/04/2008, 17h02
  2. Réponses: 1
    Dernier message: 04/04/2008, 12h14
  3. Sélectionner seulement une partie d'une valeur d'une cellule
    Par ArthurO0O dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/08/2007, 11h05
  4. masquer une partie d'une vidéo par une banniere
    Par lezabour dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2006, 16h47
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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