В R dplyr выполнение group_by и суммирование для пустой (0 строк) таблицы с переменной группировки факторов приводит к созданию таблицы с ненулевой строкой. Ожидается создание таблицы с нулевой строкой.
Такое поведение кажется мне очень неинтуитивным (поскольку drop = TRUE отбрасывает пустые группы, когда таблица не пуста, но затем делает обратное и добавляет группу NA, когда вся таблица пуста). С версиями dplyr sub 0.8 (например, 0.7.2) я не получал такого странного поведения. Любые предложения относительно того, является ли это ожидаемым поведением?
версия пакета: dplyr_0.8.5; tibble_3.0.1
tibble(g = factor(character(0))) %>%
group_by(g, .drop = TRUE) %>%
summarise(n = n()) %>%
ungroup()
# outputs tibble with 1 row, but I expected 0 rows:
# g n
# <fct> <int>
# 1 NA 0