使用 R 在多列中多次满足条件后从数据帧中删除行

问题描述 投票:0回答:1

我问了一个关于任一行中满足条件的类似问题(根据每列中的单独条件删除两列中的行):我现在正在寻找这个问题的细微变化:

我在 R 中有一个数据帧,其中包含由 ID 标识的血压读数(收缩压和舒张压)。我想过滤掉收缩压达到 140 或更高或舒张压达到 90 或更高的行。 但是,我只想在同一 ID 满足这些条件“两次或以上”后才删除行。该条件可以在一列中满足一次,然后在另一列中第二次满足。我想删除第二个 ≥140(收缩压)和/或 ≥90(舒张压)的实例,以及每个 ID 的任何后续行。 示例数据:

ID <- c(1,1,1,1,2,2,2,2,2,3,3,3,3,3) SystolicBP <- c(140, 139, 142, 139, 120, 111,113,118,139,120,142,120,118,110) DiastolicBP <- c(87, 70, 71, 70, 70, 72, 90, 84, 97, 80, 73, 74, 90, 73) DF1 <- data.frame(ID, SystolicBP, DiastolicBP)

这就是我希望数据的样子:

非常感谢任何帮助。

r dplyr
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.