我有2個包含相同列的數據框。一個叫做newGames,另一個叫做existingGames。我想要做的是在兩個數據框之間檢查comapare newGames game_pk和sv_id列。如果兩個表中都存在game_pk和sv_id,我想從newGames數據框中刪除該行。如果在另一個數據框中存在2個值,則刪除行
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
e。代表現有遊戲數據框,N代表newGames數據框。我最終想要得到的是一個新的遊戲數據框,它顯示了現有遊戲數據框中不存在egame_pk AND e.sv_id(整個遊戲)或e.sv_id(單個遊戲距離)的所有列。 Sv_id是一個時間戳,因此可以爲不同的game_pk設置相同的值,所以「合併」這些字段會使該行獨一無二。
這個工程的失蹤遊戲(440697)
newGames2 <- newGames[!(newGames$game_pk %in% existingGames$game_pk),]
但我想
newGames2 <- newGames[!(newGames$game_pk %in% existingGames$game_pk) | (!(newGames$game_pk %in% existingGames$game_pk) & !(newGames$sv_id %in% existingGames$sv_id)),]
,它只是選擇完整的數據幀,而不是單一的缺失間距。
您可能需要使用的'&''而不是|' –
您能不能告訴newGames和existingGames數據幀的樣本?你應該看看'dplyr'包中的'anti_join'。 – Gopala
@Gopala我該怎麼做? FYI - 數據框有76列。謝謝! –