这是 dplyr count()
泛型的方法。它使用 j
参数中的 .N
进行翻译,并根据需要向 keyby
提供组。
参数
- x
- ...
-
<
data-masking
> 分组依据的变量。 - wt
-
<
data-masking
> 频率权重。可以是NULL
或变量:-
如果是
NULL
(默认值),则计算每个组中的行数。 -
如果是变量,则计算每个组的
sum(wt)
。
-
- sort
-
如果
TRUE
,将在顶部显示最大的组。 - name
-
输出中新列的名称。
如果省略,则默认为
n
。如果已经有一个名为n
的列,它将使用nn
。如果有一个名为n
和nn
的列,它将使用nnn
,依此类推,添加n
直到获得新名称。
例子
library(dplyr, warn.conflicts = FALSE)
dt <- lazy_dt(dplyr::starwars)
dt %>% count(species)
#> Source: local data table [38 x 2]
#> Call: `_DT6`[, .(n = .N), keyby = .(species)]
#>
#> species n
#> <chr> <int>
#> 1 NA 4
#> 2 Aleena 1
#> 3 Besalisk 1
#> 4 Cerean 1
#> 5 Chagrian 1
#> 6 Clawdite 1
#> # … with 32 more rows
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
dt %>% count(species, sort = TRUE)
#> Source: local data table [38 x 2]
#> Call: setorder(`_DT6`[, .(n = .N), keyby = .(species)], -n, na.last = TRUE)
#>
#> species n
#> <chr> <int>
#> 1 Human 35
#> 2 Droid 6
#> 3 NA 4
#> 4 Gungan 3
#> 5 Kaminoan 2
#> 6 Mirialan 2
#> # … with 32 more rows
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
dt %>% count(species, wt = mass, sort = TRUE)
#> Source: local data table [38 x 2]
#> Call: setorder(`_DT6`[, .(n = sum(mass, na.rm = TRUE)), keyby = .(species)],
#> -n, na.last = TRUE)
#>
#> species n
#> <chr> <dbl>
#> 1 Human 1821.
#> 2 Hutt 1358
#> 3 Droid 279
#> 4 Wookiee 248
#> 5 Kaleesh 159
#> 6 Gungan 148
#> # … with 32 more rows
#>
#> # Use as.data.table()/as.data.frame()/as_tibble() to access results
相关用法
- R dtplyr complete.dtplyr_step 完成缺少数据组合的 DataFrame
- R dtplyr collect.dtplyr_step 强制计算惰性 data.table
- R dtplyr lazy_dt 创建一个“惰性”data.table 以与 dplyr 动词一起使用
- R dtplyr group_modify.dtplyr_step 对每个组应用一个函数
- 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 group_by.dtplyr_step 分组和取消分组
- R dtplyr intersect.dtplyr_step 设置操作
- R dtplyr pivot_wider.dtplyr_step 将数据从长轴转向宽轴
- R dtplyr summarise.dtplyr_step 将每组汇总为一行
- R dtplyr select.dtplyr_step 使用名称对列进行子集化
- R dtplyr drop_na.dtplyr_step 删除包含缺失值的行
- R dtplyr arrange.dtplyr_step 按列值排列行
- R dtplyr separate.dtplyr_step 使用正则表达式或数字位置将字符列分成多列
- R dtplyr rename.dtplyr_step 使用名称重命名列
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Count observations by group。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。