當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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