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:
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:
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