我有一个关于删除行中包含某些字符串的组的问题,例如如果包含 . 。我想在不破坏管道的情况下实现这一目标。我的意思是不使用任何 join 函数。

示例数据

vals <- c("good","bad",'ugly',"good","bad.","ugly")

    gr <- gl(2,3)

vals gr
1 good  1
2  bad  1
3 ugly  1
4 good  2
5 bad.  2
6 ugly  2

df <- data.frame(vals,gr)

我试过了
library(dplyr)
        df%>%
          filter(!grepl("\\.",vals))

只删除符合条件的行。但我想删除整个 gr 2
 vals gr
1 good  1
2  bad  1
3 ugly  1
4 good  2
5 ugly  2

最佳答案

也许是这样的:

df %>% group_by(gr) %>% filter(all(!grepl("\\.",vals)))

关于删除包含特定字符串的组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48916215/

10-12 17:24