## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE,
  warning = FALSE
)

## -----------------------------------------------------------------------------
#  library(florabr)
#  #Folder where you stored the data with the function get_florabr()
#  #Load data
#  bf <- load_florabr(data_dir = my_dir,
#                     data_version = "Latest_available",
#                     type = "short") #short version
#  #> Loading version 393.401

## -----------------------------------------------------------------------------
#  #Get available options to filter by lifeForm
#  get_attributes(data = bf,
#                 attribute = "lifeForm")[[1]]
#  #>               lifeForm
#  #> 1      Aquatic-Benthos
#  #> 2      Aquatic-Neuston
#  #> 3     Aquatic-Plankton
#  #> 4                Shrub
#  #> 5                 Tree
#  #> 6               Bamboo
#  #> 7              Cushion
#  #> 8             Dendroid
#  #> 9              Unknown
#  #> 10          Dracaenoid
#  #> 13                Herb
#  #> 14          Flabellate
#  #> 15             Foliose
#  #> 16 Liana/scandent/vine
#  #> 19           Palm_tree
#  #> 21             Pendent
#  #> 23            Subshrub
#  #> 24           Succulent
#  #> 25            Thallose
#  #> 26                 Mat
#  #> 27                Weft
#  #> 28                Tuft
#  
#  #Get available options to filter by  Biome
#  get_attributes(data = bf,
#                 attribute = "Biome")[[1]]
#  #>                 biome
#  #> 1              Amazon
#  #> 2     Atlantic_Forest
#  #> 3            Caatinga
#  #> 4             Cerrado
#  #> 5               Pampa
#  #> 6            Pantanal
#  #> 7 Not_found_in_brazil
#  
#  #Get available options to filter by vegetation
#  get_attributes(data = bf,
#                 attribute = "vegetation")[[1]]
#  #>                         vegetation
#  #> 1                   Anthropic_Area
#  #> 2                         Caatinga
#  #> 3            Amazonian_Campinarana
#  #> 4          High_Altitude_Grassland
#  #> 5                    Flooded_Field
#  #> 6                        Grassland
#  #> 7             Highland_Rocky_Field
#  #> 8                         Carrasco
#  #> 9                          Cerrado
#  #> 10                  Gallery_Forest
#  #> 11          Inundated_Forest_Igapo
#  #> 12              Terra_Firme_Forest
#  #> 13                Inundated_Forest
#  #> 14    Seasonallly_Deciduous_Forest
#  #> 15       Seasonal_Evergreen_Forest
#  #> 16 Seasonally_Semideciduous_Forest
#  #> 17                      Rainforest
#  #> 18      Mixed_Ombrophyllous_Forest
#  #> 19                        Mangrove
#  #> 20                      Palm_Grove
#  #> 21                        Restinga
#  #> 22               Amazonian_Savanna
#  #> 23              Aquatic_vegetation
#  #> 24         Rock_outcrop_vegetation
#  #> 25             Not_found_in_Brazil

## -----------------------------------------------------------------------------
#  af_spp <- select_species(data = bf,
#                        include_subspecies = FALSE, include_variety = FALSE,
#                        kingdom = "Plantae", group = "All", subgroup = "All",
#                        family = "All", genus = "All",
#                        lifeForm = "Tree", #Specify tree species
#                        filter_lifeForm = "in",
#                        habitat = "All", filter_habitat = "in",
#                        biome = "Atlantic_Forest", #Occuring in the At. Forest
#                        filter_biome = "in", #In Atlantic Forest
#                        state = "All", filter_state = "in",
#                        vegetation = "All", filter_vegetation = "in",
#                        endemism = "Endemic", #Only endemics to Brazil
#                        origin = "Native", #Only natives
#                        taxonomicStatus = "Accepted",
#                        nomenclaturalStatus = "All")
#  nrow(af_spp)
#  #> [1] 2372

## -----------------------------------------------------------------------------
#  #First 7 unique values of biomes in the filtered dataset
#  unique(af_spp$biome)[1:7]
#  #> [1] "Atlantic_Forest"
#  #> [2] "Atlantic_Forest;Cerrado"
#  #> [3] "Atlantic_Forest;Caatinga"
#  #> [4] "Amazon;Atlantic_Forest;Caatinga;Cerrado"
#  #> [5] "Amazon;Atlantic_Forest;Cerrado"
#  #> [6] "Atlantic_Forest;Caatinga;Cerrado"
#  #> [7] "Amazon;Atlantic_Forest"

## -----------------------------------------------------------------------------
#  only_af_spp <- select_species(data = bf,
#                        include_subspecies = FALSE, include_variety = FALSE,
#                        kingdom = "Plantae", group = "All", subgroup = "All",
#                        family = "All", genus = "All",
#                        lifeForm = "Tree", #Specify tree species
#                        filter_lifeForm = "in",
#                        habitat = "All", filter_habitat = "in",
#                        biome = "Atlantic_Forest", #Occuring in the At. Forest
#                        filter_biome = "only", #ONLY in Atlantic Forest
#                        state = "All", filter_state = "in",
#                        vegetation = "All", filter_vegetation = "in",
#                        endemism = "Endemic", #Only endemics to Brazil
#                        origin = "Native", #Only natives
#                        taxonomicStatus = "Accepted",
#                        nomenclaturalStatus = "All")
#  nrow(only_af_spp)
#  #> [1] 1858
#  unique(only_af_spp$biome)
#  #> [1] "Atlantic_Forest"

## -----------------------------------------------------------------------------
#  south_af_spp <- select_species(data = bf,
#                        include_subspecies = FALSE, include_variety = FALSE,
#                        kingdom = "Plantae", group = "All", subgroup = "All",
#                        family = "All", genus = "All",
#                        lifeForm = "Tree", #Specify tree species
#                        filter_lifeForm = "in",
#                        habitat = "All", filter_habitat = "in",
#                        biome = "Atlantic_Forest", #Occuring in the At. Forest
#                        filter_biome = "only", #Only in Atlantic Forest
#                        state = c("PR", "SC", "RS"), #states - Use the acronynms
#                        filter_state = "in", #IN at least one of these states
#                        vegetation = "All", filter_vegetation = "in",
#                        endemism = "Endemic", #Only endemics to Brazil
#                        origin = "Native", #Only natives
#                        taxonomicStatus = "Accepted",
#                        nomenclaturalStatus = "All")
#  nrow(south_af_spp)
#  #> [1] 372
#  
#  #First 10 unique values of states in the filtered dataset
#  unique(south_af_spp$states)[1:10]
#  #>  [1] "BA;ES;PR;RJ;SC;SP"               "AL;BA;CE;ES;MA;MG;PB;PE;PR;RJ;SE;SP"
#  #>  [3] "PR;RS;SC"                        "BA;CE;ES;MA;MG;PE;PR;RJ;SP"
#  #>  [5] "MG;PR;RJ;SC;SP"                  "MG;PR;RJ;RS;SC;SP"
#  #>  [7] "BA;ES;MG;PR;RJ;SC;SP"            "MG;PR;RS;SC;SP"
#  #>  [9] "PR;RJ;RS;SC;SP"                  "ES;MG;PR;RJ;RS;SC;SP"

## -----------------------------------------------------------------------------
#  south_af_spp2 <- select_species(data = bf,
#                        include_subspecies = FALSE, include_variety = FALSE,
#                        kingdom = "Plantae", group = "All", subgroup = "All",
#                        family = "All", genus = "All",
#                        lifeForm = "Tree", #Specify tree species
#                        filter_lifeForm = "in",
#                        habitat = "All", filter_habitat = "in",
#                        biome = "Atlantic_Forest", #Occurring in the At. Forest
#                        filter_biome = "only", #Only in Atlantic Forest
#                        state = c("PR", "SC", "RS"), #states - Use the acronynms
#                        filter_state = "and", #PR and SC and RS
#                        vegetation = "All", filter_vegetation = "in",
#                        endemism = "Endemic", #Only endemics to Brazil
#                        origin = "Native", #Only natives
#                        taxonomicStatus = "Accepted",
#                        nomenclaturalStatus = "All")
#  nrow(south_af_spp2)
#  #> [1] 29
#  
#  #All unique states in the filtered dataset
#  unique(south_af_spp2$states)
#  #> [1] "PR;RS;SC"       "MG;PR;RS;SC;SP" "PR;RS;SC;SP"    "ES;PR;RS;SC;SP"
#  #> [5] "MG;PR;RS;SC"

## -----------------------------------------------------------------------------
#  south_af_spp3 <- select_species(data = bf,
#                        include_subspecies = FALSE, include_variety = FALSE,
#                        kingdom = "Plantae", group = "All", subgroup = "All",
#                        family = "All", genus = "All",
#                        lifeForm = "Tree", #Specify tree species
#                        filter_lifeForm = "in",
#                        habitat = "All", filter_habitat = "in",
#                        biome = "Atlantic_Forest", #Occuring in the At. Forest
#                        filter_biome = "only", #Only in Atlantic Forest
#                        state = c("PR", "SC", "RS"), #states - Use the acronynms
#                        filter_state = "only", #PR and SC and RS, no other else
#                        vegetation = "All", filter_vegetation = "in",
#                        endemism = "Endemic", #Only endemics to Brazil
#                        origin = "Native", #Only natives
#                        taxonomicStatus = "Accepted",
#                        nomenclaturalStatus = "All")
#  nrow(south_af_spp3)
#  #> [1] 13
#  
#  #The unique state in the filtered dataset
#  unique(south_af_spp3$states)
#  #> [1] "PR;RS;SC"

## -----------------------------------------------------------------------------
#  complete_names <- c("Araucaria brasiliana var. ridolfiana (Pi.Savi) Gordon",
#                      " Solanum restingae  S.Knapp",
#                      "Butia cattarinensis  Noblick & Lorenzi   ",
#                      "Homo   sapiens")
#  #Human specie was used just as an example that will be used to illustrate the
#  #next function
#  binomial_names <- get_binomial(species_names = complete_names)
#  binomial_names
#  #> [1] "Araucaria brasiliana" "Solanum restingae"    "Butia cattarinensis"
#  #> [4] "Homo sapiens"

## -----------------------------------------------------------------------------
#  #Create example
#  checked_names <- check_names(data = bf,
#                               species = binomial_names,
#                               max_distance = 0.1,
#                               kingdom = "Plantae")
#  checked_names
#  #             input_name           Spelling       Suggested_name Distance taxonomicStatus nomenclaturalStatus           acceptedName        family
#  # 1 Araucaria brasiliana            Correct Araucaria brasiliana        0         Synonym                <NA> Araucaria angustifolia Araucariaceae
#  # 2 Araucaria brasiliana            Correct Araucaria brasiliana        0         Synonym        Illegitimate Araucaria angustifolia Araucariaceae
#  # 3    Solanum restingae            Correct    Solanum restingae        0        Accepted             Correct      Solanum restingae    Solanaceae
#  # 4  Butia cattarinensis Probably_incorrect   Butia catarinensis        1        Accepted                <NA>     Butia catarinensis     Arecaceae
#  # 5         Homo sapiens          Not_found                 <NA>       NA            <NA>                <NA>                   <NA>          <NA>

## -----------------------------------------------------------------------------
#  #Get only accepted names
#  accepted_names <- unique(checked_names$acceptedName)
#  accepted_names <- na.omit(accepted_names) #Remove NA
#  
#  #Subset species
#  my_sp <- subset_species(data = bf, species = accepted_names,
#                        include_subspecies = FALSE,
#                        include_variety = FALSE,
#                        kingdom = "Plantae")
#  my_sp
#  #>                      species                          scientificName
#  #> 11785      Solanum restingae               Solanum restingae S.Knapp
#  #> 26790 Araucaria angustifolia Araucaria angustifolia (Bertol.) Kuntze
#  #> 99881     Butia catarinensis    Butia catarinensis Noblick & Lorenzi
#  #>       acceptedName kingdom       Group Subgroup        family     genus
#  #> 11785         <NA> Plantae Angiosperms     <NA>    Solanaceae   Solanum
#  #> 26790         <NA> Plantae Gymnosperms     <NA> Araucariaceae Araucaria
#  #> 99881         <NA> Plantae Angiosperms     <NA>     Arecaceae     Butia
#  #>        lifeForm     habitat                 Biome            States
#  #> 11785     Shrub Terrestrial       Atlantic_Forest                BA
#  #> 26790      Tree Terrestrial Atlantic_Forest;Pampa MG;PR;RJ;RS;SC;SP
#  #> 99881 Palm_tree Terrestrial Atlantic_Forest;Pampa             RS;SC
#  #>       vegetationType
#  #> 11785 Restinga
#  #> 26790 High_Altitude_Grassland;Mixed_Ombrophyllous_Forest;
#  #>       Seasonally_Semideciduous_Forest
#  #> 99881 Restinga
#  #>       origin    endemism taxonomicStatus nomenclaturalStatus
#  #> 11785 Native     Endemic        Accepted             Correct
#  #> 26790 Native Non-endemic        Accepted             Correct
#  #> 99881 Native     Endemic        Accepted                <NA>
#  #>       vernacularName
#  #> 11785 <NA>
#  #> 26790 araucaria, pinheiro-do-parana, curi, pinheiro-brasileiro,
#  #> pinho-do-parana
#  #> 99881 <NA>
#  #>       taxonRank
#  #> 11785   Species
#  #> 26790   Species
#  #> 99881   Species

## -----------------------------------------------------------------------------
#  my_sp2 <- subset_species(data = bf, species = accepted_names,
#                        include_subspecies = TRUE,
#                        include_variety = TRUE,
#                        kingdom = "Plantae")
#  my_sp2[1:5,]
#  #>                      species                            scientificName
#  #> 11785      Solanum restingae                 Solanum restingae S.Knapp
#  #> 26790 Araucaria angustifolia   Araucaria angustifolia (Bertol.) Kuntze
#  #> 35204 Araucaria angustifolia    Araucaria angustifolia var. alba Reitz
#  #> 35205 Araucaria angustifolia  Araucaria angustifolia var. caiova Reitz
#  #> 35206 Araucaria angustifolia Araucaria angustifolia var. caiuva Mattos
#  #>                 acceptedName kingdom       Group Subgroup        family
#  #> 11785                   <NA> Plantae Angiosperms     <NA>    Solanaceae
#  #> 26790                   <NA> Plantae Gymnosperms     <NA> Araucariaceae
#  #> 35204 Araucaria angustifolia Plantae Gymnosperms     <NA> Araucariaceae
#  #> 35205 Araucaria angustifolia Plantae Gymnosperms     <NA> Araucariaceae
#  #> 35206 Araucaria angustifolia Plantae Gymnosperms     <NA> Araucariaceae
#  #>           genus lifeForm     habitat                 Biome            States
#  #> 11785   Solanum    Shrub Terrestrial       Atlantic_Forest                BA
#  #> 26790 Araucaria     Tree Terrestrial Atlantic_Forest;Pampa MG;PR;RJ;RS;SC;SP
#  #> 35204 Araucaria
#  #> 35205 Araucaria
#  #> 35206 Araucaria
#  #>       vegetationType
#  #> 11785 Restinga
#  #> 26790 High_Altitude_Grassland;Mixed_Ombrophyllous_Forest;
#  #>       Seasonally_Semideciduous_Forest
#  #> 35204
#  #> 35205
#  #> 35206
#  #>       origin    endemism taxonomicStatus nomenclaturalStatus
#  #> 11785 Native     Endemic        Accepted             Correct
#  #> 26790 Native Non-endemic        Accepted             Correct
#  #> 35204   <NA>        <NA>         Synonym                <NA>
#  #> 35205   <NA>        <NA>         Synonym                <NA>
#  #> 35206   <NA>        <NA>         Synonym                <NA>
#  #>       vernacularName
#  #> 11785 <NA>
#  #> 26790 araucaria, pinheiro-do-parana, curi, pinheiro-brasileiro,
#  #> pinho-do-parana
#  #> 35204 <NA>
#  #> 35205 <NA>
#  #> 35206 <NA>
#  #>       taxonRank
#  #> 11785   Species
#  #> 26790   Species
#  #> 35204   Variety
#  #> 35205   Variety
#  #> 35206   Variety

## -----------------------------------------------------------------------------
#  spp <- c("Araucaria angustifolia", "Adesmia paranensis")
#  spp_syn <- get_synonym(data = bf, species = spp)
#  spp_syn
#  #>                       synonym           acceptedName taxonomicStatus      nomenclaturalStatus
#  #> 35323    Araucaria brasiliana Araucaria angustifolia         Synonym                     <NA>
#  #> 35325  Araucaria brasiliensis Araucaria angustifolia         Synonym                     <NA>
#  #> 35327        Araucaria dioica Araucaria angustifolia         Synonym                     <NA>
#  #> 35328       Araucaria elegans Araucaria angustifolia         Synonym                     <NA>
#  #> 35329    Araucaria ridolfiana Araucaria angustifolia         Synonym                     <NA>
#  #> 35330       Araucaria saviana Araucaria angustifolia         Synonym                     <NA>
#  #> 35332   Columbea angustifolia Araucaria angustifolia         Synonym Legitimate_but_incorrect
#  #> 35333     Columbea brasiliana Araucaria angustifolia         Synonym Legitimate_but_incorrect
#  #> 60644            Pinus dioica Araucaria angustifolia         Synonym                     <NA>
#  #> 141020     Araucaria bibbiani Araucaria angustifolia         Synonym                     <NA>
#  #> 141021   Araucaria lindleyana Araucaria angustifolia         Synonym                     <NA>
#  #> 141041   Araucaria brasiliana Araucaria angustifolia         Synonym             Illegitimate
#  #> 85308    Adesmia psoraleoides     Adesmia paranensis         Synonym Legitimate_but_incorrect