eBird checklists can be shared among a group of multiple observers, in which
case observations will be duplicated in the database. This functions removes
these duplicates from the eBird Basic Dataset (EBD) or the EBD sampling event
checklists_only = TRUE), creating a set of unique bird
observations. This function is called automatically by
auk_unique( x, group_id = "group_identifier", checklist_id = "sampling_event_identifier", species_id = "scientific_name", observer_id = "observer_id", checklists_only = FALSE )
data.frame; the EBD data frame, typically as imported by
character; the name of the group ID column.
character; the name of the checklist ID column, each
checklist within a group will get a unique value for this field. The record
with the lowest
character; the name of the column identifying species uniquely. This is required to ensure that removing duplicates is done independently for each species. Note that this will not treat sub-species independently and, if that behavior is desired, the user will have to generate a column uniquely identifying species and subspecies and pass that column's name to this argument.
character; the name of the column identifying the owner
of this instance of the group checklist. In the output dataset, the full
list of observer IDs will be stored (comma separated) in the new
logical; whether the dataset provided only contains
checklist information as with the sampling event data file. If this
A data frame with unique observations, and an additional field,
checklist_id, which is a combination of the sampling event and group IDs.
This function chooses the checklist within in each that has the
lowest value for the field specified by
checklist_id. A new column is
checklist_id, whose value is the taken from the field
specified in the
checklist_id parameter for non-group checklists and from
the field specified by the
group_id parameter for grouped checklists.
All the checklist and observer IDs for the checklists that comprise a given group checklist will be retained as a comma separated string ordered by checklist ID.
# read in an ebd file and don't automatically remove duplicates f <- system.file("extdata/ebd-sample.txt", package = "auk") ebd <- read_ebd(f, unique = FALSE) # remove duplicates ebd_unique <- auk_unique(ebd) nrow(ebd)#>  500nrow(ebd_unique)#>  494