這些是 dplyr group_map()
和 group_modify()
泛型的方法。它們都被翻譯為 [.data.table
。
用法
# S3 method for dtplyr_step
group_modify(.data, .f, ..., keep = FALSE)
# S3 method for dtplyr_step
group_map(.data, .f, ..., keep = FALSE)
值
group_map()
將 .f
應用於每個組,並返回一個列表。 group_modify()
將每個組替換為 .f
的結果,返回修改後的 lazy_dt()
。
例子
library(dplyr)
dt <- lazy_dt(mtcars)
dt %>%
group_by(cyl) %>%
group_modify(head, n = 2L)
#> Source: local data table [6 x 11]
#> Groups: cyl
#> Call: `_DT16`[, head(.SD, .BY, n = ~2L), by = .(cyl)]
#>
#> cyl mpg disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 6 21 160 110 3.9 2.62 16.5 0 1 4 4
#> 2 6 21 160 110 3.9 2.88 17.0 0 1 4 4
#> 3 4 22.8 108 93 3.85 2.32 18.6 1 1 4 1
#> 4 4 24.4 147. 62 3.69 3.19 20 1 0 4 2
#> 5 8 18.7 360 175 3.15 3.44 17.0 0 0 3 2
#> 6 8 14.3 360 245 3.21 3.57 15.8 0 0 3 4
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
dt %>%
group_by(cyl) %>%
group_map(head, n = 2L)
#> [[1]]
#> mpg disp hp drat wt qsec vs am gear carb
#> 1: 21 160 110 3.9 2.620 16.46 0 1 4 4
#> 2: 21 160 110 3.9 2.875 17.02 0 1 4 4
#>
#> [[2]]
#> mpg disp hp drat wt qsec vs am gear carb
#> 1: 22.8 108.0 93 3.85 2.32 18.61 1 1 4 1
#> 2: 24.4 146.7 62 3.69 3.19 20.00 1 0 4 2
#>
#> [[3]]
#> mpg disp hp drat wt qsec vs am gear carb
#> 1: 18.7 360 175 3.15 3.44 17.02 0 0 3 2
#> 2: 14.3 360 245 3.21 3.57 15.84 0 0 3 4
#>
相關用法
- R dtplyr group_by.dtplyr_step 分組和取消分組
- R dtplyr lazy_dt 創建一個“惰性”data.table 以與 dplyr 動詞一起使用
- R dtplyr transmute.dtplyr_step 創建新列,刪除舊列
- R dtplyr slice.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 intersect.dtplyr_step 設置操作
- R dtplyr pivot_wider.dtplyr_step 將數據從長軸轉向寬軸
- R dtplyr summarise.dtplyr_step 將每組匯總為一行
- R dtplyr count.dtplyr_step 按組計數觀察值
- R dtplyr select.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 separate.dtplyr_step 使用正則表達式或數字位置將字符列分成多列
- R dtplyr rename.dtplyr_step 使用名稱重命名列
注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Apply a function to each group。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。