R/separar-perfiles.R

Defines functions separar_perfiles

Documented in separar_perfiles

#' Separar datos de sitio y horizonte en dos tablas
#'
#' Esta función permite separar el data.frame que genera [get_perfiles()] que contiene
#' la información del sitio y sus horizontes en dos data.frames organizados en una lista.
#'
#' @param perfiles un data.frame con perfiles (salida de [get_perfiles()])
#'
#' @returns
#' Una lista con dos elementos. El elemento `sitios`, es un data.frame con
#' la información de los sitios y el elemneto `horizontes` es un data.frame
#' con la información de horizontes.
#'
#' @examples
#' separar_perfiles(perfiles)
#'
#' @export
separar_perfiles <- function(perfiles) {
  perfiles <- as.data.frame(perfiles)
  perfil_columns <- c(get_sitios_columns(perfiles), "perfil_id")

  sitios <- unique(as.data.frame(perfiles)[perfil_columns])

  horizontes <- perfiles[, !(colnames(perfiles) %in% setdiff(perfil_columns, "perfil_id"))]

  list(sitios = sitios,
       horizontes = horizontes)
}
INTA-Suelos/SISINTAR documentation built on June 30, 2023, 7:43 p.m.