Nothing
#' @name summarize_rodent_data
#' @aliases abundance biomass energy rates
#'
#' @title Generate summaries of Portal rodent data
#'
#' @description This function is a generic interface into creating summaries
#' of the Portal rodent species data. It contains a number of arguments
#' to specify the kind of data to summarize (at what level of aggregation)
#' and various choices for dealing with data quality, and output format.
#'
#' @param level summarize by "Plot", "Treatment", or "Site"
#' @param type specify subset of species; either all "Rodents" or only
#' "Granivores"
#' @param length specify subset of plots; use "All" plots or only "Longterm"
#' plots (to be deprecated)
#' @param plots specify subset of plots; can be a vector of plots, or specific
#' sets: "all" plots or "Longterm" plots (plots that have had the same
#' treatment for the entire time series)
#' @param unknowns either removes all individuals not identified to species
#' (unknowns = FALSE) or sums them in an additional column (unknowns = TRUE)
#' @param shape return data as a "crosstab" or "flat" list
#' @param time specify the format of the time index in the output, either
#' "period" (sequential Portal surveys), "newmoon" (lunar cycle numbering),
#' "date" (calendar date), or "all" (for all time indices)
#' @param output specify whether to return "abundance", or "biomass", or
#' "energy", or "rates"
#' @param fillweight specify whether to fill in unknown weights with other
#' records from that individual or species, where possible
#' @param na_drop logical, drop NA values (representing insufficient sampling)
#' filling missing combinations of year-month-treatment/plot-species with NA could
#' represent one of a few slightly different meanings:
#' 1) that combo doesn't exist
#' 2) that combo was skipped that month, or
#' 3) that combo was trapped, but is unusable (a negative period code))
#' @param zero_drop logical, drop 0s (representing sufficient sampling, but no
#' detections)
#' @param min_traps minimum number of traps for a plot to be included
#' @param min_plots minimum number of plots within a period for an
#' observation to be included
#' @param effort logical as to whether or not the effort columns should be
#' included in the output
#' @param quiet logical, whether to run without producing messages
#' @param include_unsampled logical, overrides settings for `na_drop` and
#' `zero_drop`, setting both to FALSE
#' @inheritParams load_rodent_data
#'
#' @return a data.frame in either "long" or "wide" format, depending on the
#' value of `shape`
#'
#' @export
#'
summarize_rodent_data <- function(path = get_default_data_path(),
clean = TRUE, level = "Site",
type = "Rodents", length = "all", plots = length,
unknowns = FALSE, shape = "crosstab",
time = "period", output = "abundance",
fillweight = (output != "abundance"),
na_drop = TRUE,
zero_drop = switch(tolower(level),
"plot" = FALSE,
"treatment" = TRUE,
"site" = TRUE),
min_traps = 1, min_plots = 24, effort = FALSE,
download_if_missing = TRUE, quiet = FALSE,
include_unsampled = FALSE)
{
if (include_unsampled)
{
na_drop <- FALSE
zero_drop <- FALSE
}
data_tables <- load_rodent_data(path, download_if_missing = download_if_missing,
clean = clean, quiet = quiet)
level <- tolower(level)
type <- tolower(type)
shape <- tolower(shape)
time <- tolower(time)
output <- tolower(output)
if (!missing("length"))
{
warning("The `length` argument is deprecated; please use `plots` instead.")
}
rodent_data <- data_tables$rodent_data
species_table <- data_tables$species_table
plots_table <- data_tables$plots_table
trapping_table <- data_tables$trapping_table
newmoons_table <- data_tables$newmoons_table
trapping_data <- filter_plots(trapping_table, plots) %>%
join_plots(plots_table)
out <- clean_rodent_data(rodent_data, species_table, fillweight, type, unknowns) %>%
make_plot_data(trapping_data, output, min_traps) %>%
make_level_data(trapping_table, level, output, min_plots, min_traps) %>%
add_time(newmoons_table, time) %>%
prep_rodent_output(effort, na_drop, zero_drop, shape, level, output)
return(out)
}
#' @rdname summarize_rodent_data
#'
#' @description \code{abundance} generates a table of rodent abundance
#'
#' @param ... arguments passed to \code{\link{summarize_rodent_data}}
#'
#' @export
#'
abundance <- function(...) {
summarize_rodent_data(..., output = "abundance")
}
#' @rdname summarize_rodent_data
#'
#' @description * \code{biomass()} generates a table of rodent biomass
#'
#' @inheritParams abundance
#'
#' @export
#'
biomass <- function(...) {
summarize_rodent_data(..., output = "biomass")
}
#' @rdname summarize_rodent_data
#'
#' @description * \code{energy()} generates a table of rodent energy
#' (computed as 5.69 * (biomass ^ 0.75) after White et al 2004)
#'
#' @inheritParams abundance
#'
#' @export
#'
energy <- function(...) {
summarize_rodent_data(..., output = "energy")
}
#' @rdname summarize_rodent_data
#'
#' @description * \code{rates()} generates a table of rodent growth rates
#' (computed as r=log(N[t+1]/N[t])
#'
#'@inheritParams abundance
#'
#' @export
#'
rates <- function(...) {
summarize_rodent_data(..., output = "rates")
}
#' @rdname summarize_rodent_data
#' @export
summarise_rodent_data <- summarize_rodent_data
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.