R/buscacod.r

Defines functions buscacod

Documented in buscacod

#' Función de búsqueda del código del grupo y la familia
#'
#' Busca el código del grupo, especie y la familia a partir del nombre o fragmento de la especie. Es independiente de mayúsculas y minúsculas y puede sacar más de una especie si una parte de sus nombres coincide.
#' @param nomb Nombre científico de la especie o fragmento del nombre entre ""
#' @param dns origen de base de datos a utilizar en la busqueda, camp debería ser el que esté dirigido al del camp por defecto donde está el especies.dbf del camp, se puede crear uno de red.
#' @param buscfam en vez de buscar el nombre de la especie busca a través de la familia y la especie, si T no muestra la lista de especies, sólo la familia, si F no selecciona por familia
#' @family datos_especies
#' @examples buscacod("sph")
#' @export
buscacod<- function(nomb,dns="Camp",buscfam=FALSE) {
  ch1<-DBI::dbConnect(odbc::odbc(), dns)
  if (length(nomb)>1) stop("Esta función no permite más de una especie por vez")
  else especies<-data.table::as.data.table(DBI::dbGetQuery(ch1,"select * from ESPECIES"))
  DBI::dbDisconnect(ch1)
#  Encoding(especies$ESPECIE)  <- "UTF-8"
  if (buscfam) print(especies[grep(nomb,paste(especies$ESPECIE,especies$FAMILIA,ignore.case=T),c()),c(1,3,4,2,17)])
  else print(especies[grep(nomb,especies$ESPECIE,ignore.case=T),c(1,3,4,2,17)])
}
Franvgls/CampR documentation built on March 24, 2024, 6:54 a.m.