r - 选择所有值都大于 x 的组

标签 r filter

<分区>

我有一个按“主题”分组的数据框。我想过滤那些所有“值”都高于某个值的“主题”,values > 0.5

例子 df:

df1 <- data.frame(subject = c(1, 2, 3, 4, 5, 1, 2, 3, 4, 5),
                   values = c(.4, .6, .6, .6, .6, .6, .6, .6, .6, .4))
df1
   subject values
1        1    0.4
2        2    0.6
3        3    0.6
4        4    0.6
5        5    0.6
6        1    0.6
7        2    0.6
8        3    0.6
9        4    0.6
10       5    0.4

期望的输出:

> df1
  subject values
1       2    0.6
2       3    0.6
3       4    0.6
4       2    0.6
5       3    0.6
6       4    0.6

最佳答案

您可以使用 dplyr 在分组过滤器中使用 all():

library(dplyr)

df1 %>%
  group_by(subject) %>%
  filter(all(values > .5)) %>%
  ungroup()

输出:

# A tibble: 6 x 2
  subject values
    <dbl>  <dbl>
1       2    0.6
2       3    0.6
3       4    0.6
4       2    0.6
5       3    0.6
6       4    0.6

关于r - 选择所有值都大于 x 的组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71627755/

相关文章:

R/ggplot2 : Issue with geom_line connecting 2 scatterplot datasets instead of using separate lines

r - 使用 purrr::map 抓取多篇文章,而不是 R 中的 for 循环

python - 过滤一行中有 n 个相等字符的字符串

python - 给定日期后的 DatetimeField 过滤器

mysql - Zend Framework 1 查询,按满足条件对结果进行排序

r - 选择矩阵的前 n 行

r - R 中的分桶数据

r - 将对象向量作为预测变量放置在 model.matrix 中

java - 为什么嵌套类不能用作Filter的类

php - 使用下拉框过滤MYSQL数据