删除R中与其他数据帧上的其他值匹配的特定行下方的所有行

删除R中与其他数据帧上的其他值匹配的特定行下方的所有行,r,dataframe,delete-row,R,Dataframe,Delete Row,我想删除df1中特定行下面的所有行。此特定行始终将第一个值(“名称”)与df2匹配 df1: |名称|形状|日期| |:--------|------|------| |00000世界其他地区10-2020| |00001 |世界其他地区| 11-2020| |00002世界其他地区12-2020| |00003 |世界其他地区| 13-2020| |00004世界其他地区14-2020| df2: |名称|形状|日期| |:-------- | -----|------| |00002世界其他

我想删除df1中特定行下面的所有行。此特定行始终将第一个值(“名称”)与df2匹配

df1: |名称|形状|日期| |:--------|------|------| |00000世界其他地区10-2020| |00001 |世界其他地区| 11-2020| |00002世界其他地区12-2020| |00003 |世界其他地区| 13-2020| |00004世界其他地区14-2020|

df2: |名称|形状|日期| |:-------- | -----|------| |00002世界其他地区12-2020| |00003 |世界其他地区| 13-2020| |00004世界其他地区14-2020|


在这种情况下,将删除df1上0002以下的所有行。在df2上,00002以下的行不一定与df1上00002以下的行匹配。谢谢。

这里有一种获取
df1
的方法,通过
which
函数删除
df2$Name
第一个条目下方的行(我只是输入了“datechar”,而不是示例中的每个日期,因为没有使用日期)


df1您能在一个可复制的示例中添加数据吗?@ArslanSh。我一直在试图解决这个问题,但我不知道为什么不按它应该的样子制作桌子。@ArslanSh。我附上了一张图片。如果行没有修复,情况会怎样?不是5行,但每次我运行它时,它都会改变。你指的是哪一行?只要您始终使用
df2
的第一行作为标准,并从第1行开始从
df1
中提取行,那么
df1
的大小应该无关紧要。哦,现在我知道了,谢谢。
df1 <- data.frame("Name"=seq(0,4),
                  "Shape"=rep("row",5),
                  "Date"=rep("datechar",5))
                  
df2 <- data.frame("Name"=seq(2,4),
                  "Shape"=rep("row",3),
                  "Date"=rep("datechar",3))

which(df1$Name == df2$Name[1])

df1[1:(which(df1$Name == df2$Name[1])),]