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 :

Utiliser un critère dans un data.frame pour séparer un autre data.frame


Sujet :

R

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 27
    Points : 27
    Points
    27
    Par défaut Utiliser un critère dans un data.frame pour séparer un autre data.frame
    Bonjour,

    je dispose de deux data.frame (f2 et lex_var2) et je voudrai utiliser un critère du data.frame1 (lex_var2) pour séparer le data.frame2 (f2) en 3 data.frame (Dat_Quanti, Dat_Quali, Dat_Vide)
    f2 a en nom de colonne des variables communes avec lex_var2[,1] et en lex_var2[,2] il y a le critère de séparation

    Pour l'instant mon script ressemble à ca :

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Dat_Quali = data.frame(f2$AN, f2$CODE)
    Dat_Quanti = data.frame(f2$AN, f2$CODE)
    Dat_Vide = data.frame(f2$AN, f2$CODE)
     
    # > head(Dat_Quanti)
    # f2.AN f2.CODE
    # 1  1988    P1G0
    # 2  1989    P1G0
    # 3  1990    P1G0
    # 4  1991    P1G0
    # 5  1992    P1G0
    # 6  1993    P1G0
     
    # > head(lex_var2)
    # # A tibble: 6 x 2
    # var    Type_données
    # <fct>  <chr>       
    #   1 AN     NA          
    # 2 date   NA          
    # 3 Final  NA          
    # 4 GEN    NA          
    # 5 NBG    Quantitatif 
    # 6 NBG_D1 Quantitatif 
     
     
    for (i in 1:ncol(f2)) {
     while (names(f2[i]) != lex_var2[k,1]) {  k = k+1  }
       if (is.na(lex_var2[k,2]) && names(f2[i])==lex_var2[k,1]) { 
         Dat_Vide = cbind(Dat_Vide, f2[,i]) }
       if (lex_var2[k,2] == "Quantitatif" && names(f2[i])==lex_var2[k,1]) { 
         Dat_Quanti = cbind(Dat_Quanti, f2[,i]) }
       if (lex_var2[k,2] == "Qualitatif" && names(f2[i])==lex_var2[k,1] ) { 
         Dat_Quali = cbind(Dat_Quali, f2[,i]) }
      }
    et je n'arrive pas à le faire fonctionner
    Voila le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Error in if (lex_var2[k, 2] == "Quantitatif" && names(f2[i]) == lex_var2[k,  : 
      missing value where TRUE/FALSE needed
    Si vous voyez le problème ou si vous avez une autre méthode je suis preneuse Merci

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 27
    Points : 27
    Points
    27
    Par défaut
    Enfin trouvée!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    fusion = f2
     
    Quali = lex_var2 %>% filter(Type_données=="Qualitatif")
    Quanti = lex_var2 %>% filter(Type_données=="Quantitatif")
    Vide = lex_var2 %>% filter(is.na(Type_données))
     
    Dat_Quali = data.frame(fusion$AN, fusion$CODE, fusion[,intersect(Quali$var, colnames(fusion))])
    Dat_Quanti = data.frame(fusion$AN, fusion$CODE, fusion[,intersect(Quanti$var, colnames(fusion))])
    Dat_Vide = data.frame(fusion$CODE, fusion[,intersect(Vide$var, colnames(fusion))])

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

Discussions similaires

  1. [XL-2016] Utiliser des cellules dans des feuilles différentes pour lancer une macro
    Par Miraie dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/10/2019, 23h15
  2. Réponses: 3
    Dernier message: 02/01/2015, 15h18
  3. Utiliser des filtres dans un data set
    Par pdiaz dans le forum BIRT
    Réponses: 1
    Dernier message: 27/06/2014, 09h51
  4. Utiliser macro SQL dans un data
    Par marlene2110 dans le forum Macro
    Réponses: 6
    Dernier message: 06/06/2012, 10h16
  5. Utilisation de rbf dans la fonction kernel pour les SVM (MATLAB)
    Par walidtechno dans le forum Méthodes prédictives
    Réponses: 1
    Dernier message: 28/03/2011, 01h30

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