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