Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 当组中存在某些观察结果时,移除整个组_R_Dataset - Fatal编程技术网

R 当组中存在某些观察结果时,移除整个组

R 当组中存在某些观察结果时,移除整个组,r,dataset,R,Dataset,我有一个这样的数据集 df <- data.frame(group = c(rep(1,3),rep(2,2), rep(3,2),rep(4,3),rep(5, 2)), score = c(0, 10, 22, 44, 6, 5, 20, 1, 2, 0, 1,5)) group score 1 1 0 2 1 10 3 1 22 4 2 44 5 2 6 6 3 5 7

我有一个这样的数据集

df <- data.frame(group = c(rep(1,3),rep(2,2), rep(3,2),rep(4,3),rep(5, 2)), score = c(0, 10, 22, 44, 6, 5, 20, 1, 2, 0, 1,5))

   group score
1      1     0
2      1    10
3      1    22
4      2    44
5      2     6
6      3     5
7      3    20
8      4     1
9      4     2
10     4     0
11     5     1
12     5     5

有没有一个好的方法来实现这一点

您可以使用
df
行上的过滤器来完成此操作:

df[!df$group %in% unique(df$group[df$score %in% c(0, 1)]),]
#   group score
# 4     2    44
# 5     2     6
# 6     3     5
# 7     3    20

过滤器使用%中的
%来检查每行的组是否在与分数为0或1相关联的组集中,从而删除所有此类行。

Nice<代码>数据。表格
有趣的变体:
df[,如果(!有(在%c(0,1)中分数为%).SD,by=group]
成功了,谢谢@josilber
df[!df$group %in% unique(df$group[df$score %in% c(0, 1)]),]
#   group score
# 4     2    44
# 5     2     6
# 6     3     5
# 7     3    20