Skip to contents

This function is used to filter species nomenclature from rFishStatus::rfs_update_occ_data() that should be manually checked.

Usage

rfs_validation(species_database, data, data_type = "spp_list", ref_spp_list)

Arguments

species_database

Species database according to rFishStatus template (see rFishStatus::data_template_ref).

data

A data frame representing the occurrence data to validate. Obtained using rFishStatus::rfs_update_occ_data() ("occ_data") or rFishStatus::rfs_update_spp_list()("spp_list").

data_type

A character string representing the type of data to validate. Should be either "occ_data" or "spp_list". Default is "spp_list".

ref_spp_list

A data frame representing the species list to use as reference. Obtained using rFishStatus::rfs_get_species_list().

Value

A list with two data frames: attention_df and correct_df. attention_df contains species that should be manually checked.

Examples

species_database <- rFishStatus::data_template_ref
species_list <- rFishStatus::rfs_get_species_list(species_database)
#>  Creating species list from the input dataset.
#> Looking for uncertain species.
#> Looking for valid species.
#> Looking for all previous valid species names.
#> Filtering valid species.
#> Error in dplyr::filter(dplyr::mutate(dplyr::mutate(species_df, genus = stringr::str_extract(scientific_name,     "\\w+"), epithet = stringr::str_extract(scientific_name,     stringr::regex("(?<=\\s)[a-z]+(\\s(?![a-z]*\\.)[a-z]+)*"))),     species = paste(genus, epithet, sep = " "), year = as.numeric(stringr::str_extract(scientific_name_author,         "\\d{4}")), authors = stringr::str_replace(scientific_name_author,         paste0(" ", year), ""), scientific_name = stringr::str_replace_all(scientific_name,         "\\[.*?\\]", ""), scientific_name = stringr::str_trim(scientific_name,         side = "both"), status = dplyr::if_else(scientific_name %in%         valid_spp_list, "Valid", status), status = dplyr::if_else(scientific_name ==         valid_scientific_name, "Valid", status)), !(status ==     "Valid" & scientific_name != valid_scientific_name), year !=     "Invalid Number", year <= lubridate::year(Sys.Date()), !grepl("^\\w+ & \\w+ \\d{4}$",     scientific_name), !grepl("^[a-z]", scientific_name), !stringr::str_detect(scientific_name,     " \\[ref. "), !stringr::str_detect(scientific_name, "^\\["),     !stringr::str_detect(scientific_name, ";")):  In argument: `year <= lubridate::year(Sys.Date())`.
#> Caused by error in `loadNamespace()`:
#> ! there is no package called ‘lubridate’
ref_spp_list <- rFishStatus::rfs_get_species_list(species_database)
#>  Creating species list from the input dataset.
#> Looking for uncertain species.
#> Looking for valid species.
#> Looking for all previous valid species names.
#> Filtering valid species.
#> Error in dplyr::filter(dplyr::mutate(dplyr::mutate(species_df, genus = stringr::str_extract(scientific_name,     "\\w+"), epithet = stringr::str_extract(scientific_name,     stringr::regex("(?<=\\s)[a-z]+(\\s(?![a-z]*\\.)[a-z]+)*"))),     species = paste(genus, epithet, sep = " "), year = as.numeric(stringr::str_extract(scientific_name_author,         "\\d{4}")), authors = stringr::str_replace(scientific_name_author,         paste0(" ", year), ""), scientific_name = stringr::str_replace_all(scientific_name,         "\\[.*?\\]", ""), scientific_name = stringr::str_trim(scientific_name,         side = "both"), status = dplyr::if_else(scientific_name %in%         valid_spp_list, "Valid", status), status = dplyr::if_else(scientific_name ==         valid_scientific_name, "Valid", status)), !(status ==     "Valid" & scientific_name != valid_scientific_name), year !=     "Invalid Number", year <= lubridate::year(Sys.Date()), !grepl("^\\w+ & \\w+ \\d{4}$",     scientific_name), !grepl("^[a-z]", scientific_name), !stringr::str_detect(scientific_name,     " \\[ref. "), !stringr::str_detect(scientific_name, "^\\["),     !stringr::str_detect(scientific_name, ";")):  In argument: `year <= lubridate::year(Sys.Date())`.
#> Caused by error in `loadNamespace()`:
#> ! there is no package called ‘lubridate’
attention_list <- rfs_validation(species_database, species_list, "spp_list", ref_spp_list)
#> Error: object 'species_list' not found