Count the unique values of one or more variables.

count_dt(.data, ..., sort = TRUE, .name = "n")

add_count_dt(.data, ..., .name = "n")

Arguments

.data

data.table/data.frame data.frame will be automatically converted to data.table.

...

Variables to group by, could receive what `select_dt` receives.

sort

logical. If TRUE result will be sorted in desending order by resulting variable.

.name

character. Name of resulting variable. Default uses "n".

Value

data.table

See also

Examples

iris %>% count_dt(Species)
#>       Species     n
#>        <fctr> <int>
#> 1:     setosa    50
#> 2: versicolor    50
#> 3:  virginica    50
iris %>% count_dt(Species,.name = "count")
#>       Species count
#>        <fctr> <int>
#> 1:     setosa    50
#> 2: versicolor    50
#> 3:  virginica    50
iris %>% add_count_dt(Species)
#>      Sepal.Length Sepal.Width Petal.Length Petal.Width   Species     n
#>             <num>       <num>        <num>       <num>    <fctr> <int>
#>   1:          5.1         3.5          1.4         0.2    setosa    50
#>   2:          4.9         3.0          1.4         0.2    setosa    50
#>   3:          4.7         3.2          1.3         0.2    setosa    50
#>   4:          4.6         3.1          1.5         0.2    setosa    50
#>   5:          5.0         3.6          1.4         0.2    setosa    50
#>  ---                                                                  
#> 146:          6.7         3.0          5.2         2.3 virginica    50
#> 147:          6.3         2.5          5.0         1.9 virginica    50
#> 148:          6.5         3.0          5.2         2.0 virginica    50
#> 149:          6.2         3.4          5.4         2.3 virginica    50
#> 150:          5.9         3.0          5.1         1.8 virginica    50
iris %>% add_count_dt(Species,.name = "N")
#>      Sepal.Length Sepal.Width Petal.Length Petal.Width   Species     N
#>             <num>       <num>        <num>       <num>    <fctr> <int>
#>   1:          5.1         3.5          1.4         0.2    setosa    50
#>   2:          4.9         3.0          1.4         0.2    setosa    50
#>   3:          4.7         3.2          1.3         0.2    setosa    50
#>   4:          4.6         3.1          1.5         0.2    setosa    50
#>   5:          5.0         3.6          1.4         0.2    setosa    50
#>  ---                                                                  
#> 146:          6.7         3.0          5.2         2.3 virginica    50
#> 147:          6.3         2.5          5.0         1.9 virginica    50
#> 148:          6.5         3.0          5.2         2.0 virginica    50
#> 149:          6.2         3.4          5.4         2.3 virginica    50
#> 150:          5.9         3.0          5.1         1.8 virginica    50

mtcars %>% count_dt(cyl,vs)
#>      cyl    vs     n
#>    <num> <num> <int>
#> 1:     8     0    14
#> 2:     4     1    10
#> 3:     6     1     4
#> 4:     6     0     3
#> 5:     4     0     1
mtcars %>% count_dt("cyl|vs")
#>      cyl    vs     n
#>    <num> <num> <int>
#> 1:     8     0    14
#> 2:     4     1    10
#> 3:     6     1     4
#> 4:     6     0     3
#> 5:     4     0     1
mtcars %>% count_dt(cyl,vs,.name = "N",sort = FALSE)
#>      cyl    vs     N
#>    <num> <num> <int>
#> 1:     6     0     3
#> 2:     4     1    10
#> 3:     6     1     4
#> 4:     8     0    14
#> 5:     4     0     1
mtcars %>% add_count_dt(cyl,vs)
#>       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
#>     <num> <num> <num> <num> <num> <num> <num> <num> <num> <num>
#>  1:  21.0     6 160.0   110  3.90 2.620 16.46     0     1     4
#>  2:  21.0     6 160.0   110  3.90 2.875 17.02     0     1     4
#>  3:  22.8     4 108.0    93  3.85 2.320 18.61     1     1     4
#>  4:  21.4     6 258.0   110  3.08 3.215 19.44     1     0     3
#>  5:  18.7     8 360.0   175  3.15 3.440 17.02     0     0     3
#>  6:  18.1     6 225.0   105  2.76 3.460 20.22     1     0     3
#>  7:  14.3     8 360.0   245  3.21 3.570 15.84     0     0     3
#>  8:  24.4     4 146.7    62  3.69 3.190 20.00     1     0     4
#>  9:  22.8     4 140.8    95  3.92 3.150 22.90     1     0     4
#> 10:  19.2     6 167.6   123  3.92 3.440 18.30     1     0     4
#> 11:  17.8     6 167.6   123  3.92 3.440 18.90     1     0     4
#> 12:  16.4     8 275.8   180  3.07 4.070 17.40     0     0     3
#> 13:  17.3     8 275.8   180  3.07 3.730 17.60     0     0     3
#> 14:  15.2     8 275.8   180  3.07 3.780 18.00     0     0     3
#> 15:  10.4     8 472.0   205  2.93 5.250 17.98     0     0     3
#> 16:  10.4     8 460.0   215  3.00 5.424 17.82     0     0     3
#> 17:  14.7     8 440.0   230  3.23 5.345 17.42     0     0     3
#> 18:  32.4     4  78.7    66  4.08 2.200 19.47     1     1     4
#> 19:  30.4     4  75.7    52  4.93 1.615 18.52     1     1     4
#> 20:  33.9     4  71.1    65  4.22 1.835 19.90     1     1     4
#> 21:  21.5     4 120.1    97  3.70 2.465 20.01     1     0     3
#> 22:  15.5     8 318.0   150  2.76 3.520 16.87     0     0     3
#> 23:  15.2     8 304.0   150  3.15 3.435 17.30     0     0     3
#> 24:  13.3     8 350.0   245  3.73 3.840 15.41     0     0     3
#> 25:  19.2     8 400.0   175  3.08 3.845 17.05     0     0     3
#> 26:  27.3     4  79.0    66  4.08 1.935 18.90     1     1     4
#> 27:  26.0     4 120.3    91  4.43 2.140 16.70     0     1     5
#> 28:  30.4     4  95.1   113  3.77 1.513 16.90     1     1     5
#> 29:  15.8     8 351.0   264  4.22 3.170 14.50     0     1     5
#> 30:  19.7     6 145.0   175  3.62 2.770 15.50     0     1     5
#> 31:  15.0     8 301.0   335  3.54 3.570 14.60     0     1     5
#> 32:  21.4     4 121.0   109  4.11 2.780 18.60     1     1     4
#>       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
#> 2 variables not shown: [carb <num>, n <int>]
mtcars %>% add_count_dt("cyl|vs")
#>       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
#>     <num> <num> <num> <num> <num> <num> <num> <num> <num> <num>
#>  1:  21.0     6 160.0   110  3.90 2.620 16.46     0     1     4
#>  2:  21.0     6 160.0   110  3.90 2.875 17.02     0     1     4
#>  3:  22.8     4 108.0    93  3.85 2.320 18.61     1     1     4
#>  4:  21.4     6 258.0   110  3.08 3.215 19.44     1     0     3
#>  5:  18.7     8 360.0   175  3.15 3.440 17.02     0     0     3
#>  6:  18.1     6 225.0   105  2.76 3.460 20.22     1     0     3
#>  7:  14.3     8 360.0   245  3.21 3.570 15.84     0     0     3
#>  8:  24.4     4 146.7    62  3.69 3.190 20.00     1     0     4
#>  9:  22.8     4 140.8    95  3.92 3.150 22.90     1     0     4
#> 10:  19.2     6 167.6   123  3.92 3.440 18.30     1     0     4
#> 11:  17.8     6 167.6   123  3.92 3.440 18.90     1     0     4
#> 12:  16.4     8 275.8   180  3.07 4.070 17.40     0     0     3
#> 13:  17.3     8 275.8   180  3.07 3.730 17.60     0     0     3
#> 14:  15.2     8 275.8   180  3.07 3.780 18.00     0     0     3
#> 15:  10.4     8 472.0   205  2.93 5.250 17.98     0     0     3
#> 16:  10.4     8 460.0   215  3.00 5.424 17.82     0     0     3
#> 17:  14.7     8 440.0   230  3.23 5.345 17.42     0     0     3
#> 18:  32.4     4  78.7    66  4.08 2.200 19.47     1     1     4
#> 19:  30.4     4  75.7    52  4.93 1.615 18.52     1     1     4
#> 20:  33.9     4  71.1    65  4.22 1.835 19.90     1     1     4
#> 21:  21.5     4 120.1    97  3.70 2.465 20.01     1     0     3
#> 22:  15.5     8 318.0   150  2.76 3.520 16.87     0     0     3
#> 23:  15.2     8 304.0   150  3.15 3.435 17.30     0     0     3
#> 24:  13.3     8 350.0   245  3.73 3.840 15.41     0     0     3
#> 25:  19.2     8 400.0   175  3.08 3.845 17.05     0     0     3
#> 26:  27.3     4  79.0    66  4.08 1.935 18.90     1     1     4
#> 27:  26.0     4 120.3    91  4.43 2.140 16.70     0     1     5
#> 28:  30.4     4  95.1   113  3.77 1.513 16.90     1     1     5
#> 29:  15.8     8 351.0   264  4.22 3.170 14.50     0     1     5
#> 30:  19.7     6 145.0   175  3.62 2.770 15.50     0     1     5
#> 31:  15.0     8 301.0   335  3.54 3.570 14.60     0     1     5
#> 32:  21.4     4 121.0   109  4.11 2.780 18.60     1     1     4
#>       mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear
#> 2 variables not shown: [carb <num>, n <int>]