Determinare diverse righe tra due insiemi di dati a R
-
01-10-2019 - |
Domanda
Ho due file di dati nella scheda separata formato CSV. I file sono nel seguente formato:
EP Code EP Name Address Region ...
101654 Alpha York Street Northwest ...
103628 Beta 5th Avenue South ...
codici EP sono unici. Quello che voglio fare è quello di confrontare due file per quanto riguarda i codici del PE, determinare le diverse righe e scriverli in un nuovo file.
Per esempio, File1.csv ha 800 righe e File2.csv dispone di 850 righe. file2 potrebbe essere un file completamente compreso file1 oltre 50 righe; o potrebbe essere file1 - 10 rows + 60 rows
. Voglio per determinare le differenze tra due insiemi di dati. Io non sono interessato a righe reciproci.
Come posso farlo in R?
Soluzione
Ci sono molti modi per farlo, tra setdiff
, intersect
, la funzione %in%
, is.element
. Basta trovare il set che si intersecano ed esclude usando !
:
diff1 <- file1[setdiff(file1$ep.code, file2$ep.code),]
o
diff2 <- file2[!(intersect(file2$ep.code, file1$ep.code)),]