这是 dplyr summarise()
泛型的方法。它被转换为 [.data.table
的 j
参数。
参数
- .data
-
一个
lazy_dt()
。 - ...
-
<
data-masking
> Name-value 汇总函数对。该名称将是结果中变量的名称。该值可以是:
-
长度为 1 的向量,例如
min(x)
、n()
或sum(is.na(y))
。 -
DataFrame ,用于从单个表达式添加多个列。
从 1.1.0 开始,返回大小为 0 或 >1 的值已被弃用。请用
reframe()
为此。 -
- .by
-
<
tidy-select
> (可选)仅针对此操作选择要分组的列,作为group_by()
的替代方案。有关详细信息和示例,请参阅?dplyr_by。 - .groups
-
结果的分组结构。
-
"drop_last":删除最后一级分组。这是 1.0.0 版本之前唯一受支持的选项。
-
"drop":所有级别的分组均被删除。
-
"keep":与
.data
相同的分组结构。 -
"rowwise":每一行都是它自己的组。
当未指定
.groups
时,根据结果的行数选择:-
如果所有结果都有 1 行,您将得到"drop_last"。
-
如果行数变化,您将得到 "keep" (请注意,不推荐返回可变行数,而改为
reframe()
,这也会无条件地删除所有级别的分组)。
此外,一条消息会通知您该选择,除非结果未分组,否则选项 "dplyr.summarise.inform" 设置为
FALSE
,或者当从包中的函数调用summarise()
时。 -
例子
library(dplyr, warn.conflicts = FALSE)
dt <- lazy_dt(mtcars)
dt %>%
group_by(cyl) %>%
summarise(vs = mean(vs))
#> Source: local data table [3 x 2]
#> Call: `_DT38`[, .(vs = mean(vs)), keyby = .(cyl)]
#>
#> cyl vs
#> <dbl> <dbl>
#> 1 4 0.909
#> 2 6 0.571
#> 3 8 0
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
dt %>%
group_by(cyl) %>%
summarise(across(disp:wt, mean))
#> Source: local data table [3 x 5]
#> Call: `_DT38`[, .(disp = mean(disp), hp = mean(hp), drat = mean(drat),
#> wt = mean(wt)), keyby = .(cyl)]
#>
#> cyl disp hp drat wt
#> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 4 105. 82.6 4.07 2.29
#> 2 6 183. 122. 3.59 3.12
#> 3 8 353. 209. 3.23 4.00
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
相关用法
- R dtplyr slice.dtplyr_step 使用行的位置对行进行子集化
- R dtplyr select.dtplyr_step 使用名称对列进行子集化
- R dtplyr separate.dtplyr_step 使用正则表达式或数字位置将字符列分成多列
- R dtplyr lazy_dt 创建一个“惰性”data.table 以与 dplyr 动词一起使用
- R dtplyr group_modify.dtplyr_step 对每个组应用一个函数
- R dtplyr transmute.dtplyr_step 创建新列,删除旧列
- R dtplyr left_join.dtplyr_step 连接数据表
- R dtplyr fill.dtplyr_step 用上一个或下一个值填充缺失值
- R dtplyr filter.dtplyr_step 使用列值对行进行子集化
- R dtplyr mutate.dtplyr_step 创建和修改列
- R dtplyr distinct.dtplyr_step 子集不同/唯一行
- R dtplyr unite.dtplyr_step 通过将字符串粘贴在一起将多列合并为一列。
- R dtplyr nest.dtplyr_step 巢
- R dtplyr relocate.dtplyr_step 使用变量名称重新定位变量
- R dtplyr head.dtplyr_step 对第一行或最后一行进行子集化
- R dtplyr expand.dtplyr_step 扩展 DataFrame 以包含所有可能的值组合。
- R dtplyr group_by.dtplyr_step 分组和取消分组
- R dtplyr intersect.dtplyr_step 设置操作
- R dtplyr pivot_wider.dtplyr_step 将数据从长轴转向宽轴
- R dtplyr count.dtplyr_step 按组计数观察值
- R dtplyr drop_na.dtplyr_step 删除包含缺失值的行
- R dtplyr complete.dtplyr_step 完成缺少数据组合的 DataFrame
- R dtplyr collect.dtplyr_step 强制计算惰性 data.table
- R dtplyr arrange.dtplyr_step 按列值排列行
- R dtplyr rename.dtplyr_step 使用名称重命名列
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Summarise each group to one row。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。