Методы устранения неполадок group_by, в частности, путем извлечения информации из сгруппированного фрейма данных?

#r #dplyr #grouping

Вопрос:

Иногда мне приходится устранять неполадки в группировках фреймов данных. Это включает в себя такие ошибки, как Column `some_col` must be length 1 (a summary value), not 5 . Я понял, что у меня нет надежной стратегии или диагностического подхода для устранения неполадок, и что мне нужно будет манипулировать информацией из сгруппированного фрейма данных, чтобы упростить ее.

В этом случае мои данные слишком велики и сложны, чтобы привести их к соответствующему и все еще связному примеру. Но, например, возьмите это:

 grp_iris <- iris %>% dplyr::group_by(Species, Petal.Width)
 

Я могу использовать
attr(grp_iris, which = "groups")
чтобы дать мне вывод, в том числе .rows , который показывает мне количество элементов в каждой группе, например <int [5]>

Здесь я задаю своего рода вопрос из двух частей:

  1. Как я могу продолжить изучение группировок с помощью сгруппированного фрейма данных? В области среды RStudio я могу видеть эти .rows списки, но как я могу программно управлять ими? Например, я мог бы захотеть создать фрейм данных, состоящий только из строк этой группы , которые, используя приведенный выше случай, будут теми 5 строками, на которые ссылаются в <int [5]> , или создать фрейм данных, содержащий новый столбец с уникальным идентификатором для каждой группы.
  2. Существуют ли стратегии вне использования данных атрибутов во фрейме данных, которые могли бы хорошо работать для устранения неполадок группировок? (т. Е. Способы для кого-то проверить, что данные сгруппированы так, как они намереваются.)

Комментарии:

1. Вы можете использовать cur_group() или cur_group_id()