R/numMissing.R

Defines functions numMissing

Documented in numMissing

#' @title Number Missing Data
#' @description Calculate the number of individuals with missing data by locus.
#'
#' @param g a \linkS4class{gtypes} object.
#' @param by.strata logical - return results grouped by strata?
#' @param prop logical determining whether to return proportion missing.
#'
#' @return a vector of loci with number (or, if \code{prop = TRUE},
#'   the proportion) of individuals missing data for at least one allele.
#'
#' @author Eric Archer \email{eric.archer@@noaa.gov}
#'
#' @examples
#' data(msats.g)
#' 
#' numMissing(msats.g)
#' numMissing(msats.g, prop = TRUE)
#'
#' @export
#' 
numMissing <- function(g, by.strata = FALSE, prop = FALSE) {
  cols <- if(by.strata) c("locus", "stratum") else "locus"
  as.data.frame(
    if(prop) {
      g@data[, 
             list(num.missing = mean(is.na(allele)) / getPloidy(g)), 
             by = cols
             ]
    } else {
      g@data[, 
             list(num.missing = sum(is.na(allele)) / getPloidy(g)), 
             by = cols
             ]
    }
  )
}

Try the strataG package in your browser

Any scripts or data that you put into this service are public.

strataG documentation built on Feb. 28, 2020, 9:07 a.m.