Skip to contents

Generate a summary table from the WCVP

Usage

wcvp_summary(
  taxon = NULL,
  taxon_rank = c("species", "genus", "family", "order", "higher"),
  area_codes = NULL,
  grouping_var = c("area_code_l3", "genus", "family", "order", "higher"),
  hybrids = FALSE,
  wcvp_names = NULL,
  wcvp_distributions = NULL
)

Arguments

taxon

Character. Taxon to be included. Defaults to NULL (no taxonomic filter; all taxa).

taxon_rank

Character. One of "genus", "family", "order" or "higher", giving the rank of the value/s in taxon. Must be specified unless taxon is NULL.

area_codes

Character. One or many WGSPRD level 3 region codes. Defaults to NULL (global).

grouping_var

Character; one of "area_code_l3", "genus", "family","order" or "higher" specifying how the summary should be arranged. Defaults to area_code_l3.

hybrids

Logical. Include hybrid species in counts? Defaults to FALSE.

wcvp_names

A data frame of taxonomic names from WCVP version 7 or later. If NULL, names will be loaded from rWCVPdata::wcvp_names.

wcvp_distributions

A data frame of distributions from WCVP version 7 or later. If NULL, distributions will be loaded from rWCVPdata::wcvp_names.

Value

Data.frame with filtered data, or a gt table

Details

Valid values for rank 'higher' are 'Angiosperms', 'Gymnosperms', 'Ferns' and 'Lycophytes'. Note that grouping variable (if taxonomic) should be of a lower level than taxon and taxon_rank to produce a meaningful summary (i.e., it does not make sense to group a genus by genus, family or higher classification). Additionally, if the grouping variable is taxonomic then species occurrences are aggregated across the input area. This means that if a species is native to any of the input area (even if it is introduced or extinct in other parts) it is counted as 'Native'. Similarly, introduced occurrences take precedence over extinct occurrences. Note that in this type of summary table, 'Endemic' means endemic to the input area, not necessarily to a single WGSRPD Level 3 Area within the input area.

Examples

 # this example requires 'rWCVPdata'
if(requireNamespace("rWCVPdata")){
ferns <- wcvp_summary("Ferns", "higher", get_wgsrpd3_codes("New Zealand"), grouping_var = "family")
wcvp_summary_gt(ferns)
}
#>  Matches to input geography found at Country (Gallagher) and Region (Level 2)
#>  Aggregating occurrence types across input area ("New Zealand") - see `?wcvp_summary()` for details.
#> <div id="mwlefoodfi" style="padding-left:0px;padding-right:0px;padding-top:10px;padding-bottom:10px;overflow-x:auto;overflow-y:auto;width:auto;height:auto;">
#>   <style>#mwlefoodfi table {
#>   font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
#>   -webkit-font-smoothing: antialiased;
#>   -moz-osx-font-smoothing: grayscale;
#> }
#> 
#> #mwlefoodfi thead, #mwlefoodfi tbody, #mwlefoodfi tfoot, #mwlefoodfi tr, #mwlefoodfi td, #mwlefoodfi th {
#>   border-style: none;
#> }
#> 
#> #mwlefoodfi p {
#>   margin: 0;
#>   padding: 0;
#> }
#> 
#> #mwlefoodfi .gt_table {
#>   display: table;
#>   border-collapse: collapse;
#>   line-height: normal;
#>   margin-left: auto;
#>   margin-right: auto;
#>   color: #333333;
#>   font-size: 12px;
#>   font-weight: normal;
#>   font-style: normal;
#>   background-color: #FFFFFF;
#>   width: auto;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #A8A8A8;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #A8A8A8;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_caption {
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#> }
#> 
#> #mwlefoodfi .gt_title {
#>   color: #333333;
#>   font-size: 125%;
#>   font-weight: initial;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-color: #FFFFFF;
#>   border-bottom-width: 0;
#> }
#> 
#> #mwlefoodfi .gt_subtitle {
#>   color: #333333;
#>   font-size: 12px;
#>   font-weight: initial;
#>   padding-top: 3px;
#>   padding-bottom: 5px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-color: #FFFFFF;
#>   border-top-width: 0;
#> }
#> 
#> #mwlefoodfi .gt_heading {
#>   background-color: #FFFFFF;
#>   text-align: left;
#>   border-bottom-color: #FFFFFF;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_bottom_border {
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_col_headings {
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_col_heading {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: bold;
#>   text-transform: inherit;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 6px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   overflow-x: hidden;
#> }
#> 
#> #mwlefoodfi .gt_column_spanner_outer {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: bold;
#>   text-transform: inherit;
#>   padding-top: 0;
#>   padding-bottom: 0;
#>   padding-left: 4px;
#>   padding-right: 4px;
#> }
#> 
#> #mwlefoodfi .gt_column_spanner_outer:first-child {
#>   padding-left: 0;
#> }
#> 
#> #mwlefoodfi .gt_column_spanner_outer:last-child {
#>   padding-right: 0;
#> }
#> 
#> #mwlefoodfi .gt_column_spanner {
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: bottom;
#>   padding-top: 5px;
#>   padding-bottom: 5px;
#>   overflow-x: hidden;
#>   display: inline-block;
#>   width: 100%;
#> }
#> 
#> #mwlefoodfi .gt_spanner_row {
#>   border-bottom-style: hidden;
#> }
#> 
#> #mwlefoodfi .gt_group_heading {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: initial;
#>   text-transform: inherit;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   text-align: left;
#> }
#> 
#> #mwlefoodfi .gt_empty_group_heading {
#>   padding: 0.5px;
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: initial;
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   vertical-align: middle;
#> }
#> 
#> #mwlefoodfi .gt_from_md > :first-child {
#>   margin-top: 0;
#> }
#> 
#> #mwlefoodfi .gt_from_md > :last-child {
#>   margin-bottom: 0;
#> }
#> 
#> #mwlefoodfi .gt_row {
#>   padding-top: 1px;
#>   padding-bottom: 1px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   margin: 10px;
#>   border-top-style: solid;
#>   border-top-width: 1px;
#>   border-top-color: rgba(255, 255, 255, 0);
#>   border-left-style: none;
#>   border-left-width: 1px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 1px;
#>   border-right-color: #D3D3D3;
#>   vertical-align: middle;
#>   overflow-x: hidden;
#> }
#> 
#> #mwlefoodfi .gt_stub {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: initial;
#>   text-transform: inherit;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #mwlefoodfi .gt_stub_row_group {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   font-size: 100%;
#>   font-weight: bold;
#>   text-transform: inherit;
#>   border-right-style: solid;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   vertical-align: top;
#> }
#> 
#> #mwlefoodfi .gt_row_group_first td {
#>   border-top-width: 2px;
#> }
#> 
#> #mwlefoodfi .gt_row_group_first th {
#>   border-top-width: 2px;
#> }
#> 
#> #mwlefoodfi .gt_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #mwlefoodfi .gt_first_summary_row {
#>   border-top-style: solid;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_first_summary_row.thick {
#>   border-top-width: 2px;
#> }
#> 
#> #mwlefoodfi .gt_last_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_grand_summary_row {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   text-transform: inherit;
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #mwlefoodfi .gt_first_grand_summary_row {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-top-style: double;
#>   border-top-width: 6px;
#>   border-top-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_last_grand_summary_row_top {
#>   padding-top: 8px;
#>   padding-bottom: 8px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#>   border-bottom-style: double;
#>   border-bottom-width: 6px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_striped {
#>   background-color: rgba(128, 128, 128, 0.05);
#> }
#> 
#> #mwlefoodfi .gt_table_body {
#>   border-top-style: solid;
#>   border-top-width: 2px;
#>   border-top-color: #D3D3D3;
#>   border-bottom-style: solid;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_footnotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_footnote {
#>   margin: 0px;
#>   font-size: 90%;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #mwlefoodfi .gt_sourcenotes {
#>   color: #333333;
#>   background-color: #FFFFFF;
#>   border-bottom-style: none;
#>   border-bottom-width: 2px;
#>   border-bottom-color: #D3D3D3;
#>   border-left-style: none;
#>   border-left-width: 2px;
#>   border-left-color: #D3D3D3;
#>   border-right-style: none;
#>   border-right-width: 2px;
#>   border-right-color: #D3D3D3;
#> }
#> 
#> #mwlefoodfi .gt_sourcenote {
#>   font-size: 90%;
#>   padding-top: 4px;
#>   padding-bottom: 4px;
#>   padding-left: 5px;
#>   padding-right: 5px;
#> }
#> 
#> #mwlefoodfi .gt_left {
#>   text-align: left;
#> }
#> 
#> #mwlefoodfi .gt_center {
#>   text-align: center;
#> }
#> 
#> #mwlefoodfi .gt_right {
#>   text-align: right;
#>   font-variant-numeric: tabular-nums;
#> }
#> 
#> #mwlefoodfi .gt_font_normal {
#>   font-weight: normal;
#> }
#> 
#> #mwlefoodfi .gt_font_bold {
#>   font-weight: bold;
#> }
#> 
#> #mwlefoodfi .gt_font_italic {
#>   font-style: italic;
#> }
#> 
#> #mwlefoodfi .gt_super {
#>   font-size: 65%;
#> }
#> 
#> #mwlefoodfi .gt_footnote_marks {
#>   font-size: 75%;
#>   vertical-align: 0.4em;
#>   position: initial;
#> }
#> 
#> #mwlefoodfi .gt_asterisk {
#>   font-size: 100%;
#>   vertical-align: 0;
#> }
#> 
#> #mwlefoodfi .gt_indent_1 {
#>   text-indent: 5px;
#> }
#> 
#> #mwlefoodfi .gt_indent_2 {
#>   text-indent: 10px;
#> }
#> 
#> #mwlefoodfi .gt_indent_3 {
#>   text-indent: 15px;
#> }
#> 
#> #mwlefoodfi .gt_indent_4 {
#>   text-indent: 20px;
#> }
#> 
#> #mwlefoodfi .gt_indent_5 {
#>   text-indent: 25px;
#> }
#> </style>
#>   <table class="gt_table" data-quarto-disable-processing="false" data-quarto-bootstrap="false">
#>   <thead>
#>     <tr class="gt_heading">
#>       <td colspan="6" class="gt_heading gt_title gt_font_normal" style><b> Ferns of New Zealand </b></td>
#>     </tr>
#>     <tr class="gt_heading">
#>       <td colspan="6" class="gt_heading gt_subtitle gt_font_normal gt_bottom_border" style>Total number of species: 208<br>Number of regionally endemic species: 77</td>
#>     </tr>
#>     <tr class="gt_col_headings">
#>       <th class="gt_col_heading gt_columns_bottom_border gt_left" rowspan="1" colspan="1" scope="col" id="Family">Family</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Native">Native</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Endemic">Endemic</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Introduced">Introduced</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Extinct">Extinct</th>
#>       <th class="gt_col_heading gt_columns_bottom_border gt_right" rowspan="1" colspan="1" scope="col" id="Total">Total</th>
#>     </tr>
#>   </thead>
#>   <tbody class="gt_table_body">
#>     <tr><td headers="Family" class="gt_row gt_left">Aspleniaceae</td>
#> <td headers="Native" class="gt_row gt_right">58</td>
#> <td headers="Endemic" class="gt_row gt_right">21</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">58</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Cyatheaceae</td>
#> <td headers="Native" class="gt_row gt_right">11</td>
#> <td headers="Endemic" class="gt_row gt_right">8</td>
#> <td headers="Introduced" class="gt_row gt_right">1</td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">12</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Dennstaedtiaceae</td>
#> <td headers="Native" class="gt_row gt_right">12</td>
#> <td headers="Endemic" class="gt_row gt_right">2</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">12</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Gleicheniaceae</td>
#> <td headers="Native" class="gt_row gt_right">9</td>
#> <td headers="Endemic" class="gt_row gt_right">1</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">9</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Hymenophyllaceae</td>
#> <td headers="Native" class="gt_row gt_right">28</td>
#> <td headers="Endemic" class="gt_row gt_right">16</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">28</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Lindsaeaceae</td>
#> <td headers="Native" class="gt_row gt_right">3</td>
#> <td headers="Endemic" class="gt_row gt_right">1</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">3</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Marattiaceae</td>
#> <td headers="Native" class="gt_row gt_right">1</td>
#> <td headers="Endemic" class="gt_row gt_right"></td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">1</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Marsileaceae</td>
#> <td headers="Native" class="gt_row gt_right">1</td>
#> <td headers="Endemic" class="gt_row gt_right"></td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">1</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Ophioglossaceae</td>
#> <td headers="Native" class="gt_row gt_right">6</td>
#> <td headers="Endemic" class="gt_row gt_right">1</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">6</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Osmundaceae</td>
#> <td headers="Native" class="gt_row gt_right">3</td>
#> <td headers="Endemic" class="gt_row gt_right">2</td>
#> <td headers="Introduced" class="gt_row gt_right">1</td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">4</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Polypodiaceae</td>
#> <td headers="Native" class="gt_row gt_right">35</td>
#> <td headers="Endemic" class="gt_row gt_right">17</td>
#> <td headers="Introduced" class="gt_row gt_right">7</td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">42</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Psilotaceae</td>
#> <td headers="Native" class="gt_row gt_right">6</td>
#> <td headers="Endemic" class="gt_row gt_right">1</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">6</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Pteridaceae</td>
#> <td headers="Native" class="gt_row gt_right">18</td>
#> <td headers="Endemic" class="gt_row gt_right">6</td>
#> <td headers="Introduced" class="gt_row gt_right">1</td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">19</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Salviniaceae</td>
#> <td headers="Native" class="gt_row gt_right">1</td>
#> <td headers="Endemic" class="gt_row gt_right"></td>
#> <td headers="Introduced" class="gt_row gt_right">1</td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">2</td></tr>
#>     <tr><td headers="Family" class="gt_row gt_left">Schizaeaceae</td>
#> <td headers="Native" class="gt_row gt_right">5</td>
#> <td headers="Endemic" class="gt_row gt_right">1</td>
#> <td headers="Introduced" class="gt_row gt_right"></td>
#> <td headers="Extinct" class="gt_row gt_right"></td>
#> <td headers="Total" class="gt_row gt_right" style="font-weight: bold;">5</td></tr>
#>   </tbody>
#>   
#>   
#> </table>
#> </div>