| count.SpatVector {tidyterra} | R Documentation |
Count the observations in each SpatVector group
Description
count() lets you quickly count the unique values of one or more variables:
-
df %>% count(a, b)is roughly equivalent todf %>% group_by(a, b) %>% summarise(n = n()). -
count()is paired withtally(), a lower-level helper that is equivalent todf %>% summarise(n = n()).
Usage
## S3 method for class 'SpatVector'
count(
x,
...,
wt = NULL,
sort = FALSE,
name = NULL,
.drop = group_by_drop_default(x),
.dissolve = TRUE
)
## S3 method for class 'SpatVector'
tally(x, wt = NULL, sort = FALSE, name = NULL)
Arguments
x |
A |
... |
< |
wt |
Not implemented on this method |
sort |
If |
name |
The name of the new column in the output. If omitted, it will default to |
.drop |
Handling of factor levels that don't appear in the data, passed
on to For
|
.dissolve |
logical. Should borders between aggregated geometries be dissolved? |
Value
A SpatVector object with an additional attribute.
terra equivalent
Methods
Implementation of the generic dplyr::count() family functions for
SpatVector objects.
tally() will always return a disaggregated geometry while count() can
handle this. See also summarise.SpatVector().
See Also
dplyr::count(), dplyr::tally()
Other dplyr verbs that operate on group of rows:
group-by.SpatVector,
rowwise.SpatVector(),
summarise.SpatVector()
Other dplyr methods:
arrange.SpatVector(),
bind_cols.SpatVector,
bind_rows.SpatVector,
distinct.SpatVector(),
filter-joins.SpatVector,
filter.Spat,
glimpse.Spat,
group-by.SpatVector,
mutate-joins.SpatVector,
mutate.Spat,
pull.Spat,
relocate.Spat,
rename.Spat,
rowwise.SpatVector(),
select.Spat,
slice.Spat,
summarise.SpatVector()
Examples
library(terra)
f <- system.file("ex/lux.shp", package = "terra")
p <- vect(f)
p %>% count(NAME_1, sort = TRUE)
p %>% count(NAME_1, sort = TRUE)
p %>% count(pop = ifelse(POP < 20000, "A", "B"))
# tally() is a lower-level function that assumes you've done the grouping
p %>% tally()
p %>%
group_by(NAME_1) %>%
tally()
# Dissolve geometries by default
library(ggplot2)
p %>%
count(NAME_1) %>%
ggplot() +
geom_spatvector(aes(fill = n))
# Opt out
p %>%
count(NAME_1, .dissolve = FALSE, sort = TRUE) %>%
ggplot() +
geom_spatvector(aes(fill = n))