2010-06-28 4 views
0

J'ai deux fichiers de données au format CSV séparé par des tabulations. Les fichiers sont au format suivant:Détermination de lignes différentes entre deux ensembles de données dans R

EP Code EP Name Address Region ... 
101654 Alpha  York Street Northwest ... 
103628 Beta 5th Avenue South ... 

codes EP sont uniques. Ce que je veux faire est de comparer deux fichiers par rapport aux codes EP, de déterminer les différentes lignes et de les écrire dans un nouveau fichier.

Par exemple, fichier1.csv a 800 lignes et fichier2.csv a 850 lignes. fichier2 pourrait être un fichier incluant complètement le fichier 1 plus 50 lignes; ou il pourrait être file1 - 10 rows + 60 rows. Je veux déterminer les différences entre deux ensembles de données. Je ne suis pas intéressé par les lignes mutuelles.

Comment puis-je faire cela dans R?

+0

étroitement liés: http://stackoverflow.com/questions/1837968/r-how-to-tell-what- est-dans-un-vecteur-et-non-autre. – Shane

Répondre

3

Il existe plusieurs façons de le faire, y compris setdiff, intersect, la fonction %in%, is.element. Il suffit de trouver l'ensemble d'intersection et d'exclure à l'aide !:

diff1 <- file1[setdiff(file1$ep.code, file2$ep.code),] 

ou

diff2 <- file2[!(intersect(file2$ep.code, file1$ep.code)),] 
+0

Merci pour la réponse. Je pense qu'il devrait y avoir une parenthèse droite supplémentaire avant la dernière virgule dans votre dernière ligne de code. –

+0

Merci. Corrigé cela. – Shane

Questions connexes