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