删除 R 中与不同数据框上的另一个值匹配的特定行下方的所有行

Delete all rows below specific row in R matching another value on a different data frame

我想删除 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 <- 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])),]