我正在使用dplyr
的开发版本,并且在数据框中存在列名dplyr::tally
时正在努力使用"n"
。
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
1.0.0
(GitHub版本)但是它不再产生正确的输出。
library(tidyverse)
options(tibble.width = Inf)
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
我是在做错什么还是这是错误?
查看文档(如注释中所指出),以前的工作流似乎无法恢复。
所以这是一种解决方法:
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
由reprex package(v0.3.0)在2020-03-24创建