Ho due frame di dati df1 e df2. Hanno le stesse (due) colonne. Voglio rimuovere le righe da df1 che sono in df2.R: rimuovere le righe da un frame di dati che si trovano in un altro
risposta
È possibile farlo con diversi pacchetti. Ma ecco come farlo con R. base di
df1 <-matrix(1:6,ncol=2,byrow=TRUE)
df2 <-matrix(1:10,ncol=2,byrow=TRUE)
all <-rbind(df1,df2) #rbind the columns
#use !duplicated fromLast = FALSE and fromLast = TRUE to get unique rows.
all[!duplicated(all,fromLast = FALSE)&!duplicated(all,fromLast = TRUE),]
[,1] [,2]
[1,] 7 8
[2,] 9 10
Mi piace, ma non lo capisco. Mi piace perché (a differenza dell'altra risposta) lascia intatte tutte e tre le variabili nei miei dataframe (l'altra risposta cancella quelle e aggiunge una nuova "v1" che sembra essere il nome row.names di uno dei DF originali). Non lo capisco perché è la prima volta che vedo "! Duplicato" usato - più (o "e"?) Non capisco come funzionano le parti "fromLast" "FALSE" e "TRUE". Qualcos'altro da studiare. Ma è una soluzione elegante. – WGray
Ciao, la soluzione funziona anche per più di 2 volte le righe duplicate? – eclairs
@eclairs Se ho capito bene la tua domanda, sì questa soluzione escluderà più duplicati. –
Prova questo:
df2 <-matrix(1:6,ncol=2,byrow=TRUE)
df1 <-matrix(1:10,ncol=2,byrow=TRUE)
data.frame(v1=setdiff(df1[,1], df2[,1]), v2=setdiff(df1[,2], df2[,2]))
v1 v2
1 7 8
2 9 10
noti che df1
e df2
sono le stesse di Lapointe di ma il contrario, perché si vuole rimuovere il righe da df1 che sono in df2, quindi setdiff rimuove elementi da x
contenuti in . Vedere ?setdiff
si otterrà lo stesso risultato di Lapointe
setdiff - buon dolore, un altro dei tanti modi per fare la stessa cosa se riesci a trovarlo. Apprezzo l'aiuto di tutti. – user1320487
- 1. come rimuovere tutte le righe da un data.frame in r
- 2. Come sottrarre le righe di un frame dati di un panda da un altro?
- 3. Creazione di variabili nel frame di dati R in base a un altro frame di dati
- 4. Elimina le righe che esistono in un altro frame di dati?
- 5. Creare un frame di dati vuoto con indice da un altro frame di dati
- 6. Identificazione di colonne duplicate in un frame di dati R
- 7. Rimuovi righe da un frame di dati a colonna singola
- 8. Ottenere le precedenti n-righe in un frame di dati?
- 9. R come posso calcolare la differenza tra le righe in un frame di dati
- 10. come rimuovere i duplicati parziali da un frame di dati?
- 11. Rimuovere le righe con NA da data.table in R
- 12. mappatura sopra le righe di un frame di dati
- 13. Un modo più veloce di creare sottoinsiemi su righe di un frame di dati in R?
- 14. Sostituire i valori nel frame di dati in base ad altro frame di dati in R
- 15. Selezionare le righe da un frame di dati in cui ogni variabile non NA
- 16. Esempio casuale di righe da sottoinsieme di un frame di dati R
- 17. Rimuovi righe specifiche da un frame di dati
- 18. Come posso impostare sottoinsieme le righe in un frame di dati in R in base a un vettore di valori?
- 19. rimozione fila condizionale in un frame di dati R
- 20. Come rimuovere le righe con un valore Zero in R?
- 21. Conversione di un elenco di frame di dati in singoli frame di dati in R
- 22. Come ridurre automaticamente i numeri di riga nel frame di dati R quando si rimuovono le righe in R
- 23. Creazione di un frame di dati e aggiunta di righe
- 24. Come si seleziona la prima riga in un frame di dati R che soddisfi determinati criteri?
- 25. In R, come si classificano i valori in un frame di dati in base agli intervalli in un altro frame di dati?
- 26. Corrispondenza di righe in un frame di dati di Pandas su un altro basato su tre colonne
- 27. R dati - Modifica il mio frame di dati (convertendo le colonne in righe e viceversa)
- 28. Aggiungi colonne a un frame di dati vuoto in R
- 29. ritorno un frame di dati da funzione
- 30. Converti oggetto igraph in un frame di dati in R
correlati: http://stackoverflow.com/questions/3171426/compare-two-data-frames-to-find-the-rows-in- data-frame-1-che-non-presente-in – Ben