我有2个数据框,一个叫Athle.df,一个叫medals.df。 两者都有一个名为athlete_id的列,这是一个唯一的键。我遇到的问题是 有些行出现在medals.df表中但不出现在athlete.df中,在这种情况下我需要从medals.df中删除它们。
数据示例:
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的最后一行,它的Athle_id为'err' 在运动员中没有出现。在这种情况下,我想删除整个行。我想在ateletes.df表中找不到他们的athlete_id时,我想从medals.df中删除行。 我知道这可以通过一个循环来完成,但每个数据集的实际数据大约是30000行,这可能需要很长时间,这是他能以一种有效的方式完成这项工作的方式吗?
答案 0 :(得分:0)
这是您正在寻找的指令:
athletes.df <- athletes.df[athletes.df$athlete_id %in% medals.df$athlete_id, ]