#' @title calc_Gha
#'
#' @description Cette fonction calcule la surface terriere a l'ha a partir des donnees d'inventaire
#'
#' @param Circ : vecteur des circonferences (cm) a partir desquelles on veut calculer un G total
#' @param Surf : scalaire, surface en m2 de la placette dans laquelle est (sont) inventoriée(s) la (les) tige(s) du vecteur Circ. Toutes les tiges sont considérées comme inventori?es dans une seule placette de la surface renseign?e.
#' @param Effectif : vecteur de meme taille que Circ et ordonne de la meme maniere, effectif de tiges pour chaque Circonférence sur la surface correspondante. Si non renseignée, Effectif est un vecteur de la m?me taille que Circ contenant des 1 (un individu par valeur de Circ).
#' @param na.rm : retire les donnees manquantes, par defaut = FALSE
#' @return surface terriere de la placette (m2/ha). Pour le cas d'un inventaire par bandelette, on peut rentrer directement les donn?es brutes des bandelettes avec la surface cumul? de toutes les bandelettes. Le r?sultat correspond alors ? la surface terri?re d'une placette virtuelle constitu?e de toutes les bandelettes accol?es les unes aux autres.
#' @author Quentin Girard
#' @references Protocole Coop chene...
#'
#' @seealso calc_D0, calc_Dg, calc_RDI, calc_veg
#'
#' @examples
#' ? venir
#'
#' @keywords function
#'
#' @include coopR-package.R
#' @family coopR
#' @export
calc_Gha <- function(Circ, Surf = NULL, Effectif = NULL, na.rm = F){
# verification des entrees
if (is.null(Surf)) { # cas ou pas de surface
stop("La surface n'est pas renseignee")
} else if (length(Surf) != 1 | !is.numeric(Surf)) {
stop("La surface doit ?tre un scalaire")
}
if (is.null(Effectif)) {
Effectif <- rep(1, length(Circ))
} else if (length(Effectif) != length(Circ)) {
stop("Effectif doit ?tre un vecteur de m?me taille que Circ ou ?tre NULL")
}
# creation d'une table pour supprimer les valeurs manquante
data <- data.frame(Circ = Circ, Effectif = Effectif)
if (na.rm) {
data <- na.omit(data)
}
Gha <- sum(10000 * data$Effectif * data$Circ^2) / (40000 * pi * Surf)
return(Gha)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.