R и dplyr: группировка по диапазонам значений - PullRequest
1 голос
/ 29 октября 2019

Привет всем, у меня есть такой фрейм данных:

    value     count
    <dbl>     <dbl>
 1     1         10
 2     2         20
 3     3         30
 4     4         40
 5     5         50
 6     6         60

Я бы хотел разделить свои наблюдения на интервалы. Первый и последний интервал должен включать все наблюдения, оставленные вне диапазона (например, 2)

      interval     count
         <???>     <dbl>
 1     [<1, 2]        30
 2      [3, 4]        50
 3     [5, >6]       110

Возможно ли это сделать с помощью dplyr?

1 Ответ

3 голосов
/ 29 октября 2019

Вы можете использовать cut(), чтобы создать переменную группировки, с помощью которой можно суммировать счет.

library(dplyr)

df %>%
  group_by(grp = cut(value, c(-Inf, 2, 4, Inf))) %>%
  summarise(count = sum(count))

# A tibble: 3 x 2
  grp      count
  <fct>    <int>
1 (-Inf,2]    30
2 (2,4]       70
3 (4, Inf]   110
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...