La détermination des lignes différentes entre deux ensembles de données par R
-
01-10-2019 - |
Question
J'ai deux fichiers de données séparées par des tabulations format CSV. Les fichiers sont au format suivant:
EP Code EP Name Address Region ...
101654 Alpha York Street Northwest ...
103628 Beta 5th Avenue South ...
codes du PE sont uniques. Ce que je veux faire est de comparer deux fichiers par rapport aux codes EP, déterminer les différentes lignes et les écrire dans un nouveau fichier.
Par exemple, Fichier1.csv a 800 lignes et Fichier2.csv a 850 lignes. fichier2 pourrait être un dossier comprenant complètement fichier1 plus de 50 lignes; ou il pourrait être file1 - 10 rows + 60 rows
. Je veux déterminer les différences entre les deux ensembles de données. Je ne suis pas intéressé par les lignes réciproques.
Comment puis-je faire cela en R?
La solution
Il y a plusieurs façons de le faire, y compris setdiff
, intersect
, la fonction %in%
, is.element
. Il suffit de trouver l'ensemble d'intersection et exclure l'utilisation !
:
diff1 <- file1[setdiff(file1$ep.code, file2$ep.code),]
ou
diff2 <- file2[!(intersect(file2$ep.code, file1$ep.code)),]