2016-07-25 143 views
-1

我有2個數據幀,一個叫做athletes.df,另一個叫medals.df。 兩者都有一個名爲athlete_id的列,這是一個唯一的鍵。我遇到的問題是 某些行出現在medals.df表中,但不在athletes.df中,在這種情況下,我需要將它們從medals.df中刪除。數據R - 根據另一個數據幀中的列從數據幀中刪除行

例子:

athletes.df 
    athlete_id V1 V2 
    'ttt'  5 6 
    '45d'  4 5 
    'tjd   4 5 

medals.df 
    athlete_id V3 V4 
    'ttt'  2 4 
    '45d'  5 5 
    'tjd   4 5 
    'err'  6 7 

如果您在medals.df看最後一排它有沒有出現在athletes.df的「犯錯」 的athlete_id,在這種情況下我也喜歡刪除整個row.Basicaly我希望從medals.df中刪除行,當他們無法在ateletes.df表中找到athier_id。 我知道這可以通過循環完成,但每個數據集的實際數據大約爲30000行,這可能需要很長時間,這是他們以高效的方式完成這項工作的一種方式嗎?

+1

另外:http://stackoverflow.com/questions/33070523/how-to-subset-a-data-frame-based-on-另一個數據幀-在基-R – dayne

回答

0

這是你要找的指令:

athletes.df <- athletes.df[athletes.df$athlete_id %in% medals.df$athlete_id, ] 
相關問題