Define a filter for the eBird Basic Dataset (EBD) based on a set of
states. This function only defines the filter and, once all filters have
been defined, auk_filter()
should be used to call AWK and perform the
filtering.
auk_state(x, state, replace = FALSE)
An auk_ebd
object.
auk_ebd
or auk_sampling
object; reference to file created by
auk_ebd()
or auk_sampling()
.
character; states to filter by. eBird uses 4 to 6 character
state codes consisting of two parts, the 2-letter ISO country code and a
1-3 character state code, separated by a dash. For example, "US-NY"
corresponds to New York State in the United States. Refer to the data frame
ebird_states for look up state codes.
logical; multiple calls to auk_state()
are additive,
unless replace = FALSE
, in which case the previous list of states to
filter by will be removed and replaced by that in the current call.
It is not possible to filter by both country and state, so calling
auk_state()
will reset the country filter to all countries, and vice versa.
This function can also work with on an auk_sampling
object if the user only
wishes to filter the sampling event data.
Other filter:
auk_bbox()
,
auk_bcr()
,
auk_breeding()
,
auk_complete()
,
auk_country()
,
auk_county()
,
auk_date()
,
auk_distance()
,
auk_duration()
,
auk_exotic()
,
auk_extent()
,
auk_filter()
,
auk_last_edited()
,
auk_observer()
,
auk_project()
,
auk_protocol()
,
auk_species()
,
auk_time()
,
auk_year()
# state codes for a given country can be looked up in ebird_states
dplyr::filter(ebird_states, country == "Costa Rica")
# choose texas, united states and puntarenas, cost rica
states <- c("US-TX", "CR-P")
system.file("extdata/ebd-sample.txt", package = "auk") %>%
auk_ebd() %>%
auk_state(states)
# alternatively, without pipes
ebd <- auk_ebd(system.file("extdata/ebd-sample.txt", package = "auk"))
auk_state(ebd, states)
Run the code above in your browser using DataLab