【发布时间】:2022-02-10 05:54:42
【问题描述】:
我想删除 ID 中包含某些字符串(A 或 D)的任何行中的 ID。 这是我的数据框:
id time dx
1 1 C
1 2 B
2 1 A
2 2 C
2 3 B
3 1 D
我想要以下内容:
id time dx
1 1 C
1 2 B
基于之前关于此的帖子 (Delete rows containing specific strings in R),我尝试了 d %>% filter(!grepl('A|D', dx))。但是,它只删除包含 A 或 D 的行,而不是整个 ID。如有任何帮助,我将不胜感激!
##Update:以下所有答案都适用于上述帖子。谢谢你们!请注意,对于这篇文章,我简化了我的数据框,后来,我意识到我实际上需要 R 代码来从以下数据框中删除带有某些部分字符串(例如 A 或 B0)的 ID。我能够通过修改第一个 r2evans 的答案来实现这一点:d %>% group_by(id) %>% filter(!any(str_detect(dx, "A|B0"))) %>% ungroup()。我已经在此处包含了注释,以防有人需要它。如果有任何其他建议,我将不胜感激。
数据框:
id time dx
1 1 C01
1 2 B1
2 1 A34
2 2 C01
2 3 B1
3 1 B01X
我想要的结果:
id time dx
1 1 C01
1 2 B1
【问题讨论】:
标签: r string dplyr delete-row longitudinal