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 pbarrosbio@gmail.com