R: dplyr::group_keys() 和 summarise() 有什么区别?
R: What is the difference between dplyr::group_keys() and summarise()?
假设我使用 dplyr::group_by()
对 data.frame() 进行分组。是否存在将其传递给 group_keys()
或 summarise()
会产生不同结果的情况?惊讶地看到一个 group_keys
函数。
library(dplyr)
df <- data.frame(x = rep(1:2, 10), y = rep(1:10,2))
df_grouped <- df %>% group_by(x,y)
# group_keys
df_grouped %>% group_keys()
# summarise
df_grouped %>% summarise()
summarise()
没有参数将去除一级分组,returning
如果有多个分组列,则为分组数据框:
library(dplyr)
mtcars %>%
group_by(am, vs) %>%
summarise()
#> `summarise()` has grouped output by 'am'. You can override using the `.groups`
#> argument.
#> # A tibble: 4 x 2
#> # Groups: am [2]
#> am vs
#> <dbl> <dbl>
#> 1 0 0
#> 2 0 1
#> 3 1 0
#> 4 1 1
group_keys()
不是 return 分组数据框,更符合惯用语
对于任务:
mtcars %>%
group_by(am, vs) %>%
group_keys()
#> # A tibble: 4 x 2
#> am vs
#> <dbl> <dbl>
#> 1 0 0
#> 2 0 1
#> 3 1 0
#> 4 1 1
假设我使用 dplyr::group_by()
对 data.frame() 进行分组。是否存在将其传递给 group_keys()
或 summarise()
会产生不同结果的情况?惊讶地看到一个 group_keys
函数。
library(dplyr)
df <- data.frame(x = rep(1:2, 10), y = rep(1:10,2))
df_grouped <- df %>% group_by(x,y)
# group_keys
df_grouped %>% group_keys()
# summarise
df_grouped %>% summarise()
summarise()
没有参数将去除一级分组,returning
如果有多个分组列,则为分组数据框:
library(dplyr)
mtcars %>%
group_by(am, vs) %>%
summarise()
#> `summarise()` has grouped output by 'am'. You can override using the `.groups`
#> argument.
#> # A tibble: 4 x 2
#> # Groups: am [2]
#> am vs
#> <dbl> <dbl>
#> 1 0 0
#> 2 0 1
#> 3 1 0
#> 4 1 1
group_keys()
不是 return 分组数据框,更符合惯用语
对于任务:
mtcars %>%
group_by(am, vs) %>%
group_keys()
#> # A tibble: 4 x 2
#> am vs
#> <dbl> <dbl>
#> 1 0 0
#> 2 0 1
#> 3 1 0
#> 4 1 1