title: “AntClassify: An R Package for Standardized Classification of Ant Communities, Functional Guilds, Endemism, and Rarity” output: rmarkdown::html_vignette vignette: > % % %


library(AntClassify)

Introduction

The AntClassify package provides an integrated ecological pipeline to classify ant communities into functional guilds, identify exotic species, detect endemic and rare species of the Atlantic Forest, and quantify key ecological patterns.

This tool was developed to facilitate ecological analyses, standardize functional classification, and improve reproducibility in ant community studies. By integrating multiple ecological databases into a single workflow, AntClassify allows researchers to efficiently assess community structure, biological invasions, endemism, and rarity patterns.

The package is particularly useful for biodiversity monitoring, conservation planning, and macroecological research involving ant assemblages.

AntClassify aims to provide a standardized and reproducible framework for advancing ecological research on ant communities.

Example dataset

dados <- data.frame(
  Atta_sexdens = 50,
  Camponotus_atriceps = 40,
  Crematogaster_sp = 35,
  Cyphomyrmex_minutus = 30,
  Cyphomyrmex_rimosus = 28,
  Ectatomma_edentatum = 25,
  Heteroponera_mayri = 22,
  Holcoponera_striatula = 20,
  Monomorium_floricola = 18,
  Monomorium_pharaonis = 17,
  Pheidole_megacephala = 16,
  Strumigenys_emmae = 15,
  Strumigenys_rogeri = 14,
  Nylanderia_fulva = 13,
  Odontomachus_chelifer = 12,
  Oxyepoecus_reticulatus = 11,
  Pachycondyla_striata = 10,
  Apterostigma_serratum = 9,
  Brachymyrmex_delabiei = 8,
  Brachymyrmex_feitosai = 7,
  Camponotus_fallatus = 6,
  Camponotus_hermanni = 5,
  Camponotus_xanthogaster = 4,
  Pheidole_aberrans = 3,
  Pheidole_fimbriata = 3,
  Pheidole_obscurithorax = 2,
  Pheidole_subarmata = 2,
  Strumigenys_fridericimuelleri = 2,
  Heteroponera_inermis = 2,
  Oxyepoecus_browni = 2,
  Sphinctomyrmex_stali = 1,
  Strumigenys_sanctipauli = 1,
  Brachymyrmex_micromegas = 1,
  Camponotus_tripartitus = 1,
  Diaphoromyrma_sofiae = 1
)

colnames(dados) <- gsub("_", " ", colnames(dados))

dados
#>   Atta sexdens Camponotus atriceps Crematogaster sp Cyphomyrmex minutus
#> 1           50                  40               35                  30
#>   Cyphomyrmex rimosus Ectatomma edentatum Heteroponera mayri
#> 1                  28                  25                 22
#>   Holcoponera striatula Monomorium floricola Monomorium pharaonis
#> 1                    20                   18                   17
#>   Pheidole megacephala Strumigenys emmae Strumigenys rogeri Nylanderia fulva
#> 1                   16                15                 14               13
#>   Odontomachus chelifer Oxyepoecus reticulatus Pachycondyla striata
#> 1                    12                     11                   10
#>   Apterostigma serratum Brachymyrmex delabiei Brachymyrmex feitosai
#> 1                     9                     8                     7
#>   Camponotus fallatus Camponotus hermanni Camponotus xanthogaster
#> 1                   6                   5                       4
#>   Pheidole aberrans Pheidole fimbriata Pheidole obscurithorax
#> 1                 3                  3                      2
#>   Pheidole subarmata Strumigenys fridericimuelleri Heteroponera inermis
#> 1                  2                             2                    2
#>   Oxyepoecus browni Sphinctomyrmex stali Strumigenys sanctipauli
#> 1                 2                    1                       1
#>   Brachymyrmex micromegas Camponotus tripartitus Diaphoromyrma sofiae
#> 1                       1                      1                    1

Running the pipeline

resultado <- antclassify(dados, validate = FALSE, plot = FALSE)
#> *************************************************
#> Starting AntClassify
#> *************************************************
#> 
#> >>> Running guild classification
#> Step 1: Preparing community data...
#> Step 2: Matching species to functional guilds...
#> 
#> Guild classification results (first 6 rows):
#>               species abundance percentage
#> 1        Atta sexdens        50  11.467890
#> 2 Camponotus atriceps        40   9.174312
#> 3    Crematogaster sp        35   8.027523
#> 4 Cyphomyrmex minutus        30   6.880734
#> 5 Cyphomyrmex rimosus        28   6.422018
#> 6 Ectatomma edentatum        25   5.733945
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4                                       Fungus-growers (soil or leaf litter nesting)
#> 5                                       Fungus-growers (soil or leaf litter nesting)
#> 6                  Generalist predators (dominant or cryptic in soil or leaf litter)
#>                             silva_guild
#> 1                    Unidentified Guild
#> 2                    Unidentified Guild
#> 3                    Unidentified Guild
#> 4                    Unidentified Guild
#> 5                    Unidentified Guild
#> 6 Generalist predatory ectaheteromorphs
#>                               delabie_guild
#> 1                   Attini (Fungus-growers)
#> 2        Omnivorous soil-and-litter species
#> 3        Omnivorous soil-and-litter species
#> 4                   Attini (Fungus-growers)
#> 5                   Attini (Fungus-growers)
#> 6 Large Ponerinae (Large epigeic predators)
#>                                   silvestre_guild
#> 1                              Unidentified Guild
#> 2              Generalist patrolling Camponotines
#> 3 Small arboreal species with massive recruitment
#> 4           Cryptic fungus-growing ants (Attines)
#> 5           Cryptic fungus-growing ants (Attines)
#> 6                                 Large predators
#> Step 3: Generating plots...
#> 
#> Guild classification sources: Delabie et al. (2000), Silvestre et al. (2003),
#> Silva et al. (2015), and AntClassify internal database.
#> Full citations are available in the package documentation: ?assign_guild_ants
#> 
#> >>> Checking exotic species
#> Step 1: Preparing community data...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> EXOTIC SPECIES DETECTED:
#>                species abundance percentage
#> 1 Monomorium floricola        18   4.128440
#> 2 Monomorium pharaonis        17   3.899083
#> 3 Pheidole megacephala        16   3.669725
#> 4    Strumigenys emmae        15   3.440367
#> 5   Strumigenys rogeri        14   3.211009
#> 
#> DATA SOURCE:
#> Vieira, V. B. (2025). 'Quem são e onde estão as formigas exóticas do Brasil?'
#> Master's thesis, Universidade Federal do Paraná, Curitiba, Brazil.
#> Full reference available in the package documentation: ?check_exotic_ants
#> ********************************************************************************
#> 
#> >>> Checking Atlantic Forest endemic species
#> 
#> **********************************************************************************
#> ATTENTION: This function identifies endemic species of the BRAZILIAN ATLANTIC FOREST.
#> If your data collection did not occur within this biome, this analysis may not
#> be appropriate for your study.
#> **********************************************************************************
#> Step 1: Preparing community data...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> ENDEMIC SPECIES DETECTED (ATLANTIC FOREST):
#>                 species abundance percentage
#> 1 Apterostigma serratum         9   2.064220
#> 2 Brachymyrmex delabiei         8   1.834862
#> 3 Brachymyrmex feitosai         7   1.605505
#> 4   Camponotus fallatus         6   1.376147
#> 5   Camponotus hermanni         5   1.146789
#> 
#> DATA SOURCE:
#> Silva, N. S., Goncalves, D. C. de O., Wazema, C. T., Barbosa, D. A., Prado, L. P. do,
#> Andrade-Silva, J., Fernandes, T. T., Silva, R. R., & Morini, M. S. de C. (2025).
#> 'Endemism and vulnerability of ants in the phytophysiognomies of the Brazilian
#> Atlantic Forest'. In: Brazilian Myrmecology: Exploring the World's Richest Ant Fauna
#> (Chapter 16). Editora Cientifica Digital. DOI: 10.37885/250920259.
#> Full reference available in the package documentation: ?check_endemic_atlantic_ants
#> ********************************************************************************
#> 
#> >>> Checking Atlantic Forest rarity patterns
#> 
#> ********************************************************************************
#> ATTENTION:
#> This function identifies rare ant species and their rarity forms.
#> This classification is specific to the Brazilian Atlantic Forest and
#> may not be appropriate for other biomes.
#> ********************************************************************************
#> Step 1: Preparing community data and rarity database...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> RARE SPECIES DETECTED:
#>                          species rarity_form abundance percentage
#> 1          Brachymyrmex feitosai      Form 4         7  1.6055046
#> 2        Brachymyrmex micromegas      Form 7         1  0.2293578
#> 3            Camponotus atriceps      Form 2        40  9.1743119
#> 4         Camponotus tripartitus      Form 7         1  0.2293578
#> 5           Diaphoromyrma sofiae      Form 7         1  0.2293578
#> 6           Heteroponera inermis      Form 4         2  0.4587156
#> 7              Oxyepoecus browni      Form 6         2  0.4587156
#> 8         Oxyepoecus reticulatus      Form 1        11  2.5229358
#> 9              Pheidole aberrans      Form 2         3  0.6880734
#> 10            Pheidole fimbriata      Form 2         3  0.6880734
#> 11        Pheidole obscurithorax      Form 2         2  0.4587156
#> 12            Pheidole subarmata      Form 2         2  0.4587156
#> 13          Sphinctomyrmex stali      Form 6         1  0.2293578
#> 14 Strumigenys fridericimuelleri      Form 3         2  0.4587156
#> 15       Strumigenys sanctipauli      Form 6         1  0.2293578
#> 
#> DATA SOURCE AND REFERENCE:
#> Silva, N. S., Maciel, E. A., Prado, L. P., Silva, O. G., Barbosa, D. A.,
#> Andrade-Silva, J., ... & Morini, M. S. (2024).
#> 'Ant rarity and vulnerability in Brazilian Atlantic Forest fragments.'
#> Biological Conservation, 296, 110640.
#> ********************************************************************************
#> 
#> ***********************************************
#> AntClassify finished successfully
#> *************************************************

Accessing results

names(resultado)
#> [1] "guilds"  "exotic"  "endemic" "rarity"

head(resultado$guilds$table)
#>               species abundance percentage
#> 1        Atta sexdens        50  11.467890
#> 2 Camponotus atriceps        40   9.174312
#> 3    Crematogaster sp        35   8.027523
#> 4 Cyphomyrmex minutus        30   6.880734
#> 5 Cyphomyrmex rimosus        28   6.422018
#> 6 Ectatomma edentatum        25   5.733945
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4                                       Fungus-growers (soil or leaf litter nesting)
#> 5                                       Fungus-growers (soil or leaf litter nesting)
#> 6                  Generalist predators (dominant or cryptic in soil or leaf litter)
#>                             silva_guild
#> 1                    Unidentified Guild
#> 2                    Unidentified Guild
#> 3                    Unidentified Guild
#> 4                    Unidentified Guild
#> 5                    Unidentified Guild
#> 6 Generalist predatory ectaheteromorphs
#>                               delabie_guild
#> 1                   Attini (Fungus-growers)
#> 2        Omnivorous soil-and-litter species
#> 3        Omnivorous soil-and-litter species
#> 4                   Attini (Fungus-growers)
#> 5                   Attini (Fungus-growers)
#> 6 Large Ponerinae (Large epigeic predators)
#>                                   silvestre_guild
#> 1                              Unidentified Guild
#> 2              Generalist patrolling Camponotines
#> 3 Small arboreal species with massive recruitment
#> 4           Cryptic fungus-growing ants (Attines)
#> 5           Cryptic fungus-growing ants (Attines)
#> 6                                 Large predators
resultado$exotics
#> NULL
resultado$endemics
#> NULL
resultado$rarity
#> $table
#>                          species abundance rarity_form percentage
#> 1          Brachymyrmex feitosai         7      Form 4  1.6055046
#> 2        Brachymyrmex micromegas         1      Form 7  0.2293578
#> 3            Camponotus atriceps        40      Form 2  9.1743119
#> 4         Camponotus tripartitus         1      Form 7  0.2293578
#> 5           Diaphoromyrma sofiae         1      Form 7  0.2293578
#> 6           Heteroponera inermis         2      Form 4  0.4587156
#> 7              Oxyepoecus browni         2      Form 6  0.4587156
#> 8         Oxyepoecus reticulatus        11      Form 1  2.5229358
#> 9              Pheidole aberrans         3      Form 2  0.6880734
#> 10            Pheidole fimbriata         3      Form 2  0.6880734
#> 11        Pheidole obscurithorax         2      Form 2  0.4587156
#> 12            Pheidole subarmata         2      Form 2  0.4587156
#> 13          Sphinctomyrmex stali         1      Form 6  0.2293578
#> 14 Strumigenys fridericimuelleri         2      Form 3  0.4587156
#> 15       Strumigenys sanctipauli         1      Form 6  0.2293578
#> 
#> $plot

Using individual functions

Although antclassify() runs the full pipeline, users can also apply each function separately depending on their research goals.

Functional guild classification

guilds <- assign_guild_ants(dados, validate = FALSE, plot = FALSE)
#> Step 1: Preparing community data...
#> Step 2: Matching species to functional guilds...
#> 
#> Guild classification results (first 6 rows):
#>               species abundance percentage
#> 1        Atta sexdens        50  11.467890
#> 2 Camponotus atriceps        40   9.174312
#> 3    Crematogaster sp        35   8.027523
#> 4 Cyphomyrmex minutus        30   6.880734
#> 5 Cyphomyrmex rimosus        28   6.422018
#> 6 Ectatomma edentatum        25   5.733945
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4                                       Fungus-growers (soil or leaf litter nesting)
#> 5                                       Fungus-growers (soil or leaf litter nesting)
#> 6                  Generalist predators (dominant or cryptic in soil or leaf litter)
#>                             silva_guild
#> 1                    Unidentified Guild
#> 2                    Unidentified Guild
#> 3                    Unidentified Guild
#> 4                    Unidentified Guild
#> 5                    Unidentified Guild
#> 6 Generalist predatory ectaheteromorphs
#>                               delabie_guild
#> 1                   Attini (Fungus-growers)
#> 2        Omnivorous soil-and-litter species
#> 3        Omnivorous soil-and-litter species
#> 4                   Attini (Fungus-growers)
#> 5                   Attini (Fungus-growers)
#> 6 Large Ponerinae (Large epigeic predators)
#>                                   silvestre_guild
#> 1                              Unidentified Guild
#> 2              Generalist patrolling Camponotines
#> 3 Small arboreal species with massive recruitment
#> 4           Cryptic fungus-growing ants (Attines)
#> 5           Cryptic fungus-growing ants (Attines)
#> 6                                 Large predators
#> Step 3: Generating plots...
#> 
#> Guild classification sources: Delabie et al. (2000), Silvestre et al. (2003),
#> Silva et al. (2015), and AntClassify internal database.
#> Full citations are available in the package documentation: ?assign_guild_ants

head(guilds$table)
#>               species abundance percentage
#> 1        Atta sexdens        50  11.467890
#> 2 Camponotus atriceps        40   9.174312
#> 3    Crematogaster sp        35   8.027523
#> 4 Cyphomyrmex minutus        30   6.880734
#> 5 Cyphomyrmex rimosus        28   6.422018
#> 6 Ectatomma edentatum        25   5.733945
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4                                       Fungus-growers (soil or leaf litter nesting)
#> 5                                       Fungus-growers (soil or leaf litter nesting)
#> 6                  Generalist predators (dominant or cryptic in soil or leaf litter)
#>                             silva_guild
#> 1                    Unidentified Guild
#> 2                    Unidentified Guild
#> 3                    Unidentified Guild
#> 4                    Unidentified Guild
#> 5                    Unidentified Guild
#> 6 Generalist predatory ectaheteromorphs
#>                               delabie_guild
#> 1                   Attini (Fungus-growers)
#> 2        Omnivorous soil-and-litter species
#> 3        Omnivorous soil-and-litter species
#> 4                   Attini (Fungus-growers)
#> 5                   Attini (Fungus-growers)
#> 6 Large Ponerinae (Large epigeic predators)
#>                                   silvestre_guild
#> 1                              Unidentified Guild
#> 2              Generalist patrolling Camponotines
#> 3 Small arboreal species with massive recruitment
#> 4           Cryptic fungus-growing ants (Attines)
#> 5           Cryptic fungus-growing ants (Attines)
#> 6                                 Large predators

Exotic species detection

exotics <- check_exotic_ants(dados, validate = FALSE, plot = FALSE)
#> Step 1: Preparing community data...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> EXOTIC SPECIES DETECTED:
#>                species abundance percentage
#> 1 Monomorium floricola        18   4.128440
#> 2 Monomorium pharaonis        17   3.899083
#> 3 Pheidole megacephala        16   3.669725
#> 4    Strumigenys emmae        15   3.440367
#> 5   Strumigenys rogeri        14   3.211009
#> 
#> DATA SOURCE:
#> Vieira, V. B. (2025). 'Quem são e onde estão as formigas exóticas do Brasil?'
#> Master's thesis, Universidade Federal do Paraná, Curitiba, Brazil.
#> Full reference available in the package documentation: ?check_exotic_ants
#> ********************************************************************************
exotics
#> $table
#>                species abundance percentage origin
#> 1 Monomorium floricola        18   4.128440 Exotic
#> 2 Monomorium pharaonis        17   3.899083 Exotic
#> 3 Pheidole megacephala        16   3.669725 Exotic
#> 4    Strumigenys emmae        15   3.440367 Exotic
#> 5   Strumigenys rogeri        14   3.211009 Exotic
#> 
#> $plot

Endemic species (Atlantic Forest)

endemics <- check_endemic_atlantic_ants(dados, validate = FALSE, plot = FALSE)
#> 
#> **********************************************************************************
#> ATTENTION: This function identifies endemic species of the BRAZILIAN ATLANTIC FOREST.
#> If your data collection did not occur within this biome, this analysis may not
#> be appropriate for your study.
#> **********************************************************************************
#> Step 1: Preparing community data...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> ENDEMIC SPECIES DETECTED (ATLANTIC FOREST):
#>                 species abundance percentage
#> 1 Apterostigma serratum         9   2.064220
#> 2 Brachymyrmex delabiei         8   1.834862
#> 3 Brachymyrmex feitosai         7   1.605505
#> 4   Camponotus fallatus         6   1.376147
#> 5   Camponotus hermanni         5   1.146789
#> 
#> DATA SOURCE:
#> Silva, N. S., Goncalves, D. C. de O., Wazema, C. T., Barbosa, D. A., Prado, L. P. do,
#> Andrade-Silva, J., Fernandes, T. T., Silva, R. R., & Morini, M. S. de C. (2025).
#> 'Endemism and vulnerability of ants in the phytophysiognomies of the Brazilian
#> Atlantic Forest'. In: Brazilian Myrmecology: Exploring the World's Richest Ant Fauna
#> (Chapter 16). Editora Cientifica Digital. DOI: 10.37885/250920259.
#> Full reference available in the package documentation: ?check_endemic_atlantic_ants
#> ********************************************************************************
endemics
#> $table
#>                 species abundance percentage       status
#> 1 Apterostigma serratum         9   2.064220 Endemic (AF)
#> 2 Brachymyrmex delabiei         8   1.834862 Endemic (AF)
#> 3 Brachymyrmex feitosai         7   1.605505 Endemic (AF)
#> 4   Camponotus fallatus         6   1.376147 Endemic (AF)
#> 5   Camponotus hermanni         5   1.146789 Endemic (AF)
#> 
#> $plot

Rarity classification

rarity <- check_rarity_atlantic_ants(dados, validate = FALSE, plot = FALSE)
#> 
#> ********************************************************************************
#> ATTENTION:
#> This function identifies rare ant species and their rarity forms.
#> This classification is specific to the Brazilian Atlantic Forest and
#> may not be appropriate for other biomes.
#> ********************************************************************************
#> Step 1: Preparing community data and rarity database...
#> Step 2: Generating results...
#> 
#> ********************************************************************************
#> RARE SPECIES DETECTED:
#>                          species rarity_form abundance percentage
#> 1          Brachymyrmex feitosai      Form 4         7  1.6055046
#> 2        Brachymyrmex micromegas      Form 7         1  0.2293578
#> 3            Camponotus atriceps      Form 2        40  9.1743119
#> 4         Camponotus tripartitus      Form 7         1  0.2293578
#> 5           Diaphoromyrma sofiae      Form 7         1  0.2293578
#> 6           Heteroponera inermis      Form 4         2  0.4587156
#> 7              Oxyepoecus browni      Form 6         2  0.4587156
#> 8         Oxyepoecus reticulatus      Form 1        11  2.5229358
#> 9              Pheidole aberrans      Form 2         3  0.6880734
#> 10            Pheidole fimbriata      Form 2         3  0.6880734
#> 11        Pheidole obscurithorax      Form 2         2  0.4587156
#> 12            Pheidole subarmata      Form 2         2  0.4587156
#> 13          Sphinctomyrmex stali      Form 6         1  0.2293578
#> 14 Strumigenys fridericimuelleri      Form 3         2  0.4587156
#> 15       Strumigenys sanctipauli      Form 6         1  0.2293578
#> 
#> DATA SOURCE AND REFERENCE:
#> Silva, N. S., Maciel, E. A., Prado, L. P., Silva, O. G., Barbosa, D. A.,
#> Andrade-Silva, J., ... & Morini, M. S. (2024).
#> 'Ant rarity and vulnerability in Brazilian Atlantic Forest fragments.'
#> Biological Conservation, 296, 110640.
#> ********************************************************************************
rarity
#> $table
#>                          species abundance rarity_form percentage
#> 1          Brachymyrmex feitosai         7      Form 4  1.6055046
#> 2        Brachymyrmex micromegas         1      Form 7  0.2293578
#> 3            Camponotus atriceps        40      Form 2  9.1743119
#> 4         Camponotus tripartitus         1      Form 7  0.2293578
#> 5           Diaphoromyrma sofiae         1      Form 7  0.2293578
#> 6           Heteroponera inermis         2      Form 4  0.4587156
#> 7              Oxyepoecus browni         2      Form 6  0.4587156
#> 8         Oxyepoecus reticulatus        11      Form 1  2.5229358
#> 9              Pheidole aberrans         3      Form 2  0.6880734
#> 10            Pheidole fimbriata         3      Form 2  0.6880734
#> 11        Pheidole obscurithorax         2      Form 2  0.4587156
#> 12            Pheidole subarmata         2      Form 2  0.4587156
#> 13          Sphinctomyrmex stali         1      Form 6  0.2293578
#> 14 Strumigenys fridericimuelleri         2      Form 3  0.4587156
#> 15       Strumigenys sanctipauli         1      Form 6  0.2293578
#> 
#> $plot

##Multi‑site analysis with antclassify_community

When the study involves several sampling units, the function antclassify_community() applies the full classification pipeline to each row of a community matrix and returns aggregated site‑by‑guild information. This avoids manual loops and ensures consistent classification across all sites.

The package includes a small built‑in dataset, ant_community, that can be used to test this function.

data(ant_community)

# Run the pipeline on the built‑in dataset
res_com <- antclassify_community(ant_community, guild_col = "antclassify_guild",
                                 validate = FALSE)
#> Step 1: Preparing community data...
#> Step 2: Matching species to functional guilds...
#> 
#> Guild classification results (first 6 rows):
#>                 species abundance percentage
#> 1          Atta sexdens        10         50
#> 2   Camponotus atriceps         3         15
#> 3  Pheidole megacephala         2         10
#> 4 Solenopsis saevissima         1          5
#> 5      Nylanderia fulva         4         20
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 3                      Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#> 4                      Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#> 5 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#>          silva_guild                      delabie_guild
#> 1 Unidentified Guild            Attini (Fungus-growers)
#> 2 Unidentified Guild Omnivorous soil-and-litter species
#> 3 Unidentified Guild Omnivorous soil-and-litter species
#> 4 Unidentified Guild Omnivorous soil-and-litter species
#> 5 Unidentified Guild                 Unidentified Guild
#>                      silvestre_guild
#> 1                 Unidentified Guild
#> 2 Generalist patrolling Camponotines
#> 3            Dominant soil omnivores
#> 4            Dominant soil omnivores
#> 5                 Unidentified Guild
#> Step 3: Generating plots...
#> 
#> Guild classification sources: Delabie et al. (2000), Silvestre et al. (2003),
#> Silva et al. (2015), and AntClassify internal database.
#> Full citations are available in the package documentation: ?assign_guild_ants
#> Step 1: Preparing community data...
#> Step 2: Matching species to functional guilds...
#> 
#> Guild classification results (first 6 rows):
#>                  species abundance percentage
#> 1           Atta sexdens         5  41.666667
#> 2   Pheidole megacephala         4  33.333333
#> 3 Wasmannia auropunctata         2  16.666667
#> 4       Nylanderia fulva         1   8.333333
#>                                                                    antclassify_guild
#> 1                                       Fungus-growers (soil or leaf litter nesting)
#> 2                      Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#>          silva_guild                      delabie_guild
#> 1 Unidentified Guild            Attini (Fungus-growers)
#> 2 Unidentified Guild Omnivorous soil-and-litter species
#> 3 Unidentified Guild Omnivorous soil-and-litter species
#> 4 Unidentified Guild                 Unidentified Guild
#>                                   silvestre_guild
#> 1                              Unidentified Guild
#> 2                         Dominant soil omnivores
#> 3 Small arboreal species with massive recruitment
#> 4                              Unidentified Guild
#> Step 3: Generating plots...
#> 
#> Guild classification sources: Delabie et al. (2000), Silvestre et al. (2003),
#> Silva et al. (2015), and AntClassify internal database.
#> Full citations are available in the package documentation: ?assign_guild_ants
#> Step 1: Preparing community data...
#> Step 2: Matching species to functional guilds...
#> 
#> Guild classification results (first 6 rows):
#>                  species abundance percentage
#> 1    Camponotus atriceps         2  18.181818
#> 2   Pheidole megacephala         1   9.090909
#> 3 Wasmannia auropunctata         3  27.272727
#> 4  Solenopsis saevissima         5  45.454545
#>                                                                    antclassify_guild
#> 1 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 2                      Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#> 3 Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> 4                      Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#>          silva_guild                      delabie_guild
#> 1 Unidentified Guild Omnivorous soil-and-litter species
#> 2 Unidentified Guild Omnivorous soil-and-litter species
#> 3 Unidentified Guild Omnivorous soil-and-litter species
#> 4 Unidentified Guild Omnivorous soil-and-litter species
#>                                   silvestre_guild
#> 1              Generalist patrolling Camponotines
#> 2                         Dominant soil omnivores
#> 3 Small arboreal species with massive recruitment
#> 4                         Dominant soil omnivores
#> Step 3: Generating plots...
#> 
#> Guild classification sources: Delabie et al. (2000), Silvestre et al. (2003),
#> Silva et al. (2015), and AntClassify internal database.
#> Full citations are available in the package documentation: ?assign_guild_ants

# Abundance matrix (sites × guilds)
res_com$guild_abundance
#>       Fungus-growers (soil or leaf litter nesting)
#> Site1                                           10
#> Site2                                            5
#> Site3                                            0
#>       Generalist omnivores (dominant or opportunistic in soil, leaf litter, or arboreal)
#> Site1                                                                                  7
#> Site2                                                                                  3
#> Site3                                                                                  5
#>       Leaf litter omnivores and scavengers (cryptic or non-cryptic)
#> Site1                                                             3
#> Site2                                                             4
#> Site3                                                             6

# Guild richness per site
res_com$guild_richness
#> [1] 3 3 2

Input data format

The package expects a community matrix where:

Rows represent sampling units (or a single community)

Columns represent species

Values represent abundance (or presence/absence)

Species names must be provided as column names..

Example structure

The built‑in dataset ant_community demonstrates the expected format:

data(ant_community)
ant_community
#>       Atta sexdens Camponotus atriceps Pheidole megacephala
#> Site1           10                   3                    2
#> Site2            5                   0                    4
#> Site3            0                   2                    1
#>       Wasmannia auropunctata Solenopsis saevissima Nylanderia fulva
#> Site1                      0                     1                4
#> Site2                      2                     0                1
#> Site3                      3                     5                0

Importing data from external files

CSV files

dados <- read.csv("data.csv", check.names = FALSE)

TXT files

dados <- read.table("data.txt", header = TRUE, sep = "\t", check.names = FALSE)

Excel files

# install.packages("readxl")
library(readxl)

dados <- read_excel("data.xlsx")
dados <- as.data.frame(dados)

Important note

colnames(dados) <- gsub("_", " ", colnames(dados))

This step guarantees compatibility with the internal species name standardization used in AntClassify.

Final considerations

The AntClassify package provides a flexible workflow that can be used either as a fully automated pipeline or through modular functions, allowing users to adapt analyses to different ecological questions.

By integrating functional classification, invasion biology, endemism, and rarity into a single framework, the package enhances reproducibility and facilitates ecological interpretation of ant communities.