Ich habe 2 Datenrahmen, die die gleichen Spalten enthalten. Einer heißt newGames, der andere heißt existingGames. Was ich tun möchte, ist, überprüfen Sie die newGames game_pk und sv_id Spalten zwischen den beiden Datenrahmen. Wenn die beiden Spalten game_pk und sv_id in beiden Tabellen vorhanden sind, möchte ich diese Zeile aus dem newGames-Datenrahmen entfernen.Zeilen löschen, wenn 2 Werte in einem anderen Datenrahmen vorhanden sind
N.game_pk N.sv_id E.game_pk E.sv_id
1 440697 123456_789012 NA NA
2 440698 123456_789012 440698 NA
3 440699 123456_789012 440699 123456_789012
Die e. steht für den Datenrahmen existingGames und N. steht für den Datenrahmen newGames. Was ich am Ende möchte, ist ein newGames-Datenframe, der alle Spalten anzeigt, in denen eponame_pk UND e.sv_id (GANZES SPIEL) oder e.sv_id (einzelnes Spielfeld aus dem Spiel) nicht im Datenrahmen existingGames vorhanden sind. Sv_id ist ein Zeitstempel, so dass es möglich ist, den gleichen Wert für verschiedene Spiele zu haben, also macht das "Kombinieren" der Felder die Zeile einzigartig.
das funktioniert für fehlende Spiele (440697)
newGames2 <- newGames[!(newGames$game_pk %in% existingGames$game_pk),]
aber ich versuchte
newGames2 <- newGames[!(newGames$game_pk %in% existingGames$game_pk) | (!(newGames$game_pk %in% existingGames$game_pk) & !(newGames$sv_id %in% existingGames$sv_id)),]
und wählt nur den vollständigen Datenrahmen anstelle des einzigen fehlenden Spielfeld.
Sie wahrscheinlich '&' statt 'verwenden müssen |' –
Können Sie zeigen Probe von newGames und existingGames Datenrahmen? Sie sollten 'anti_join' im Paket' dplyr' betrachten. – Gopala
@Gopala wie kann ich das tun? FYI - Die Datenrahmen haben 76 Spalten. Vielen Dank! –