這是 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。