当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dtplyr count.dtplyr_step 按组计数观察值


这是 dplyr count() 泛型的方法。它使用 j 参数中的 .N 进行翻译,并根据需要向 keyby 提供组。

用法

# S3 method for dtplyr_step
count(x, ..., wt = NULL, sort = FALSE, name = NULL)

参数

x

lazy_dt()

...

< data-masking > 分组依据的变量。

wt

< data-masking > 频率权重。可以是 NULL 或变量:

  • 如果是NULL(默认值),则计算每个组中的行数。

  • 如果是变量,则计算每个组的sum(wt)

sort

如果 TRUE ,将在顶部显示最大的组。

name

输出中新列的名称。

如果省略,则默认为 n 。如果已经有一个名为 n 的列,它将使用 nn 。如果有一个名为 nnn 的列,它将使用 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/count.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Count observations by group。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。