knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

The main goal of the expowo package is to retrieve information about the diversity and distribution of any plant family as publicly available at the taxonomically verified database Plants of the World Online (POWO).\

The package is intended to efficiently mine the content within the source html pages for any specific genus and family. It can return a comma-separated values (CSV) file with the number of accepted species and country-level distribution for any genus as well as the full checklist of accepted species in any genus or family, their authorship, original publication and global distribution.\

Here in this article, we show how to use the package's function megaGen for mining the megadiverse genera for any family of flowering plants. Frodin (2004) suggests 500 species as the threshold for a genus to be considered megadiverse. The function megaGen uses any numeric value in the argument thld to define the threshold for a megadiverse genus

Setup

expowo is not on CRAN yet but you can install the latest development version from GitHub:

#install.packages("devtools")
devtools::install_github("deborazuanny/expowo")
library(expowo)

Mining megadiverse genera for any angiosperm family

The function megaGen uses a specified threshold number to return a dataframe or save a CSV file listing all most speciose or megadiverse genera for any family of flowering plants, and their associated number of accepted species.

library(taxize)
fam <- c("Aristolochiaceae", "Begoniaceae", "Piperaceae", "Solanaceae")
powocodes <- cbind(family = fam,
                   data.frame(taxize::get_pow(fam)))

megaGen(powocodes$family, powocodes$uri,
        thld = 500,
        verbose = TRUE,
        save = TRUE,
        dir = "results_megaGen/",
        filename = "Arist_Begon_Piper_Solanaceae_search")
data("POWOcodes")
fam <- c("Aristolochiaceae", "Begoniaceae", "Piperaceae", "Solanaceae")
powocodes <- data.frame(family = fam,
                        uri = POWOcodes$uri[POWOcodes$family %in% fam])

res <- megaGen(powocodes$family, powocodes$uri,
               thld = 500,
               verbose = FALSE,
               save = FALSE)

knitr::kable(res,
             caption = "TABLE 1. A general `megaGen` search to mining the megadiverse 
             genera for some specific angiosperm families, based on a specified 
             threshold of 500 species.")

Mining megadiverse genera accross all angiosperm families

To mine a global checklist of megadiverse genera for all families of flowering plants, including their associated species number, we recommend to load the dataframe-formatted data object called POWOcodes that comes associated with the expowo package. Because the POWOcodes data object already contains the URI addresses for all angiosperms families recognized in the POWO database, you do not need to perform the time-consuming URI search using taxize. \

The example below shows how to mine a global checklist of all most speciose genera of flowering plants by using the vector of all angiosperm families and associated URI addresses stored in the POWOcodes object.

data(POWOcodes)

megaGen(POWOcodes$family, POWOcodes$uri,
        thld = 500,
        verbose = TRUE,
        save = TRUE,
        dir = "results_megaGen/",
        filename = "all_megadiverse_angiosperm_genera")


deborazuanny/expowo documentation built on June 2, 2022, 8:27 a.m.