我想根据列的条件删除所有行。下面的代码生成了示例测试数据
cat <<EOF | istioctl manifest generate --set values.global.istioNamespace=istio-system -f - > ./istio-egressgateway-with-sni-proxy.yaml
.
.
.
数据框具有3列:索引,组和计数。如果该组的任何一行的计数都为1,则我想删除属于同一组的所有行。因此,在上述数据框中,由于第一行的count =,所以我想从数据框中删除整个索引1、2和3。第1行和第2行和第3行属于同一组“ a”。结果数据帧应如下所示:
test_data <- data.frame(index = c(1,2,3,4,5), group = c("a", "a", "a", "b", "c"), count = c(1,2,2,3,4))
任何帮助将不胜感激!谢谢!
答案 0 :(得分:0)
我们可以在基数R中将ave
与subset
一起使用,并选择count
为1时没有值的组。
subset(test_data, ave(count != 1, group, FUN = all))
# index group count
#4 4 b 3
#5 5 c 4
使用dplyr
可以通过以下方式完成:
library(dplyr)
test_data %>% group_by(group) %>% filter(all(count != 1))
和data.table
library(data.table)
setDT(test_data)[, .SD[all(count != 1)], group]