использование `dplyr :: tally`, когда имя столбца" n "присутствует в кадре данных - PullRequest
1 голос
/ 24 марта 2020

Я работаю с версией разработки dplyr и пытаюсь использовать dplyr::tally, когда в кадре данных присутствует имя столбца "n".

  • dplyr 0.8.5 (версия CRAN)

В предыдущей версии это не было проблемой.

library(tidyverse)

mtcars %>% dplyr::group_by(am) %>% tally(., wt = NULL, name = "n_obs")
#> # A tibble: 2 x 2
#>      am n_obs
#>   <dbl> <int>
#> 1     0    19
#> 2     1    13

df <- dplyr::rename(.data = mtcars, n = wt)

df %>% dplyr::group_by(am) %>% tally(., wt = NULL, name = "n_obs")
#> # A tibble: 2 x 2
#>      am n_obs
#>   <dbl> <int>
#> 1     0    19
#> 2     1    13
  • dplyr 1.0.0 (GitHub версия)

Но больше не выдает правильный вывод.

library(tidyverse)

mtcars %>% dplyr::group_by(am) %>% tally(., wt = NULL, name = "n_obs")
#> # A tibble: 2 x 2
#>      am n_obs
#> * <dbl> <int>
#> 1     0    19
#> 2     1    13

df <- dplyr::rename(.data = mtcars, n = wt)

df %>% dplyr::group_by(am) %>% tally(., wt = NULL, name = "n_obs")
#> Using `n` as weighting variable
#> # A tibble: 2 x 2
#>      am n_obs
#> * <dbl> <dbl>
#> 1     0  71.6
#> 2     1  31.3

Я что-то не так делаю или это ошибка?

1 Ответ

0 голосов
/ 24 марта 2020

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

Итак, есть обходной путь:

library(tidyverse)

mtcars %>% group_by(am) %>% summarize(n = dplyr::n())
#> # A tibble: 2 x 2
#>      am     n
#> * <dbl> <int>
#> 1     0    19
#> 2     1    13

df <- dplyr::rename(.data = mtcars, n = wt)

df %>% dplyr::group_by(am) %>% summarize(n = dplyr::n())
#> # A tibble: 2 x 2
#>      am     n
#> * <dbl> <int>
#> 1     0    19
#> 2     1    13

Создано в 2020-03-24 пакетом Представить (v0.3.0)

Проблема, связанная с GitHub кем-то другим: https://github.com/tidyverse/dplyr/issues/5108

...