Avance para o conteúdo

Neste pequeno exemplo vamos abordar como gerar uma lista de espécies obedecendo a taxonomia proposta pela Lista de Anfíbios do Brasil da SBH (SEGALLA et al., 2021).

Para realizar essa tarefa precisaremos de alguns pacotes auxiliares além do amphiBR. O código para instalação dos pacotes está comentado, caso você ainda não possua o pacote instalado basta descomentar e executar as linhas correspondentes.

# install.packages("tidyverse")
# install.pakcages("kableExtra")

library(dplyr)
#> 
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
library(kableExtra)
#> 
#> Attaching package: 'kableExtra'
#> The following object is masked from 'package:dplyr':
#> 
#>     group_rows

Precisamos primeiro obter uma lista aleatória de espécies para usar no nosso exemplo, importante frisar que ao utilizar a sua lista de espécies para filtrar o banco de dados, a nomenclatura deve seguir a adotada por (SEGALLA et al., 2021) no qual se baseia este pacote. No nosso caso utilizaremos os dados da própria lista para sortear 20 espécies aleatoriamente.

Existem diversas formas de entrar com uma lista de espécies em particular. Ela pode ser criada diretamente no script como um data.frame contendo duas colunas, uma para gênero e outra para o epíteto específico, ou pode ser lida a partir de uma planila do excel ou arquivo .csv/.txt.

minhas_especies <- segalla2021 %>%
  filter(species_id %in% sample(1:1188, size = 20, replace = FALSE)) %>%
  select(order, family, subfamily,species_id, genus, epithet)

minhas_especies
#> # A tibble: 20 × 6
#>    order family          subfamily        species_id genus            epithet   
#>    <chr> <chr>           <chr>                 <dbl> <chr>            <chr>     
#>  1 Anura Aromobatidae    Allobatinae              14 Allobates        fuscellus 
#>  2 Anura Aromobatidae    Anomaloglossinae         38 Anomaloglossus   stepheni  
#>  3 Anura Bufonidae       NA                      138 Dendrophryniscus leucomyst…
#>  4 Anura Craugastoridae  Ceuthomantinae          247 Pristimantis     giorgii   
#>  5 Anura Craugastoridae  Ceuthomantinae          273 Pristimantis     vilarsi   
#>  6 Anura Hylidae         Cophomantinae           418 Boana            caingua   
#>  7 Anura Hylidae         Dendropsophinae         515 Dendropsophus    cerradens…
#>  8 Anura Hylidae         Dendropsophinae         568 Dendropsophus    triangulum
#>  9 Anura Hylidae         Lophyohylinae           584 Nyctimantis      galeata   
#> 10 Anura Hylidae         Scinaxinae              661 Scinax           canastren…
#> 11 Anura Hylidae         Scinaxinae              758 Sphaenorhynchus  palustris 
#> 12 Anura Hylodidae       NA                      771 Crossodactylus   lutzorum  
#> 13 Anura Hylodidae       NA                      775 Crossodactylus   werneri   
#> 14 Anura Leptodactylidae Leiuperinae             818 Physalaemus      barrioi   
#> 15 Anura Leptodactylidae Leiuperinae             865 Pseudopaludicola ceratophy…
#> 16 Anura Leptodactylidae Leptodactylinae         889 Adenomera        bokermanni
#> 17 Anura Microhylidae    Gastrophryninae        1012 Chiasmocleis     papachibe 
#> 18 Anura Odontophrynidae NA                     1083 Proceratophrys   paviotii  
#> 19 Anura Phyllomedusidae NA                     1124 Phyllomedusa     tarsius   
#> 20 Anura Pipidae         NA                     1139 Pipa             arrabali

Com a nossa lista das espécies de interesse em mãos, basta agora filtar o nosso banco de dados e gerar a tabela, faremos tudo isso num mesmo trecho de código.

options(knitr.kable.NA = '')

segalla2021 %>%
  filter(species_id %in% minhas_especies$species_id ) %>%
  select(order, family, subfamily, genus, epithet) %>%
  kable(col.names = c("Ordem","Família", "Subfamília","Gênero","Epíteto Específico")) %>%
  kable_classic_2() %>%
  column_spec(1:3,bold = T) %>%
  column_spec(4:5, italic = T) %>%
  collapse_rows(columns = 1:3, valign = "top") %>%
  row_spec(0, bold = T)
Ordem Família Subfamília Gênero Epíteto Específico
Anura Aromobatidae Allobatinae Allobates fuscellus
Anura Aromobatidae Anomaloglossinae Anomaloglossus stepheni
Anura Bufonidae Dendrophryniscus leucomystax
Anura Craugastoridae Ceuthomantinae Pristimantis giorgii
Anura Craugastoridae Ceuthomantinae Pristimantis vilarsi
Anura Hylidae Cophomantinae Boana caingua
Anura Hylidae Dendropsophinae Dendropsophus cerradensis
Anura Hylidae Dendropsophinae Dendropsophus triangulum
Anura Hylidae Lophyohylinae Nyctimantis galeata
Anura Hylidae Scinaxinae Scinax canastrensis
Anura Hylidae Scinaxinae Sphaenorhynchus palustris
Anura Hylodidae Crossodactylus lutzorum
Anura Hylodidae Crossodactylus werneri
Anura Leptodactylidae Leiuperinae Physalaemus barrioi
Anura Leptodactylidae Leiuperinae Pseudopaludicola ceratophyes
Anura Leptodactylidae Leptodactylinae Adenomera bokermanni
Anura Microhylidae Gastrophryninae Chiasmocleis papachibe
Anura Odontophrynidae Proceratophrys paviotii
Anura Phyllomedusidae Phyllomedusa tarsius
Anura Pipidae Pipa arrabali

Simples não? Boas listas! Dúvidas, críticas, problemas ou sugestões

Referências
SEGALLA, M. et al. Lista de Anfı́bios do Brasil. Herpetol. Bras, v. 10, p. 122–226, 2021.