
数据转换
|
185
于数据框 df,其中包含变量 grouping_var,我们想要将函数 fun 应用于 v1 和 v2
的所有组合,可以使用 group_by:
df %>%
group_by(v1, v2) %>%
summarize(
result_var = fun(value_var)
)
6.6.3 讨论
让我们看一个特定的例子,其中输入数据框 df 包含一个我们想要分组的变量 my_
group,以及一个名为 values 的字段,我们想要计算一些统计信息:
df <- tibble(
my_group = c("A", "B","A", "B","A", "B"),
values = 1:6
)
df %>%
group_by(my_group) %>%
summarize(
avg_values = mean(values),
tot_values = sum(values),
count_values = n()
)
#> # A tibble: 2 x 4
#> my_group avg_values tot_values count_values
#> <chr> <dbl> <int> <int>
#> 1 A 3 9 3
#> 2 B 4 12 3
输出中,根据我们定义的三个汇总字段,每个分组都有一个计算结果。
值得注意的是,summarize 函数将默默地从 group_by 中删除最后一个分组
变量。这是自动完成的,因为将分组保留在适当的位置,将意味着没有任何组
在其中有多行。最后一个分组变量仅从分组向量中删除 ...