R/calc_Dg.R

#'
#' @title Diametre quadratique moyen
#'
#' @description Cette fonction calcule le Diametre quadratique moyen d'une liste de tiges
#' 
#' @details A venir
#'
#' @param Circ : vecteur des circonferences a partir desquelles on veut calculer un Dg (toutes a la meme unite)
#' @param effectif : vecteur de meme taille et de meme ordre que Circ, effectif de chaque circonference. Si non renseigne, chaque tige est comptabilise une fois.
#' @param na.rm :  si F (par defaut), renvoie NA en cas de valeur manquante, si T, envoie une valeur estimee sans les NA
#' @return Diametre quadratique moyen (meme unite que dans Circ)
#' @author Quentin Girard
#' @references Protocole Coop chene...
#'
#' @seealso  calc_Gha, calc_D0
#' 
#' @keywords function
#'
#' @note Merci de faire remonter les critiques et ameliorations de la fonction@author Quentin Girard         
#'
#' @include coopR-package.R
#' @family coopR
#' @export

calc_Dg <- function(Circ, effectif = NULL, na.rm = F) {  
  if (is.null(effectif)) { 
    effectif = rep(1, length(Circ))
  }
  if (length(Circ) != length(effectif)) {
    stop("effectif doit etre de meme longueur que Circ")
  }
  data <- data.frame(Circ = Circ, effectif = effectif)
  if (na.rm) {
    data <- na.omit(data)                        
  }
  return(with(data, sqrt(sum(((Circ/pi)^2) * effectif) / sum(effectif))))
}     
jprenaud-02/coopR documentation built on May 3, 2019, 7:06 p.m.