J'ai le jeu de données suivant (exemple) qui donne: p> Je souhaite sous-ensemble J'ai des millions d'observations et environ 30 < Code> Code Code> Colonnes.
J'espère que la question est suffisamment claire, toute suggestion sera accueillie! P> acclamations p> p> df < / Code> Ne gardant que les brut où la valeur
g56 code> apparaît dans la colonne
code1 code> ou
code 2 code>, bien que conservant le code brut
IDNumber Code> Si la valeur d'identifiant est la même valeur d'identifiant correspondant à la valeur
g56 code> telle que: p>
4 Réponses :
Voici un moyen de faire:
library(data.table) setDT(df) df[,.SD[any(code1 == 'G56' | code2 == 'G56')] ,.(idnumber)] idnumber reg code1 code2 1: 12 FR F56 G56 2: 12 FR G76 I89 3: 13 DE G56 J83 4: 15 TZ G76 G56 5: 17 GR T65 G56 6: 18 ES G79 W34 7: 18 ES G56 T89
idnumber=c(12,12,13,14,14,15,16,17,18,18) reg = c('FR','FR','DE','US','US','TZ','MK','GR','ES','ES') code1=c('F56','G76','G56','T78','G78','G76','G64','T65','G79','G56') code2=c('G56','I89','J83','S46','D78','G56','H89','G56','W34','G56') code3=c('M56','G56','J83','S46','D78','G46','H89','J56','W33','T89') df = data.frame(idnumber,reg,code1,code2,code3)
Troisième choix était parfait! Merci @edward, mais si je devais faire le même filtrage pour ces "Numéro Idnumber" avec la valeur "G56" apparaissant au moins 2 fois (c'est le cas dans la base de données complète) dans les colonnes "Codes". Ne peut pas comprendre comment inclure une déclaration conditionnelle => 2 dans la formule
Une autre solution de base r tel que p>