Last updated: 2023-02-20

Checks: 7 0

Knit directory: dwc_o2p/

This reproducible R Markdown analysis was created with workflowr (version 1.7.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20230220) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version 7e65dea. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/

Untracked files:
    Untracked:  data/dwc_db/
    Untracked:  data/raw/

Unstaged changes:
    Modified:   .DS_Store
    Deleted:    data_raw/dic_var.csv
    Deleted:    data_raw/suelos_v2.xlsx
    Modified:   scripts/prepara_dwc_o2p_suelo.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/prepara_dwc_o2p_quadrats.Rmd) and HTML (docs/prepara_dwc_o2p_quadrats.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
Rmd 7e65dea ajpelu 2023-02-20 add quadrats

Consultas Base de Datos

Hemos ejecutado la siguientes consultas en la base de datos :

  • Altura máxima promedio Quadrat: CONSULTAS_ALTURA/ALTURA_MAX_PROMEDIO_QUADRAT
SELECT ALT_MAX_PROMEDIO_INT.ZONA,
       ALT_MAX_PROMEDIO_INT.PARCELA,
       ALT_MAX_PROMEDIO_INT.QUADRAT,
       ALT_MAX_PROMEDIO_INT.FECHA,
       Sum(ALT_MAX_PROMEDIO_INT.ALT_REL) AS ALT_PROM,
       ALT_MAX_PROMEDIO_INT.FACTOR_CORREC_INFOCA,
       [ALT_PROM]*[FACTOR_CORREC_INFOCA]/2 AS ALT_CORR
FROM ALT_MAX_PROMEDIO_INT
GROUP BY ALT_MAX_PROMEDIO_INT.ZONA,
         ALT_MAX_PROMEDIO_INT.PARCELA,
         ALT_MAX_PROMEDIO_INT.QUADRAT,
         ALT_MAX_PROMEDIO_INT.FECHA,
         ALT_MAX_PROMEDIO_INT.FACTOR_CORREC_INFOCA;

El resultado lo hemos guardado en el archivo ALTURA_MAX_PROMEDIO_QUADRAT.xlsx que está en la ruta data/raw/ALTURA_MAX_PROMEDIO_QUADRAT.xlsx

  • Altura moda promedio Quadrat: CONSULTAS_ALTURA/ALTURA_MODA_PROMEDIO_QUADRAT
SELECT ALT_MODA_PROMEDIO_INT.ZONA,
       ALT_MODA_PROMEDIO_INT.PARCELA,
       ALT_MODA_PROMEDIO_INT.QUADRAT,
       ALT_MODA_PROMEDIO_INT.FECHA,
       Avg(ALT_MODA_PROMEDIO_INT.ALT_REL) AS ALTURA_PROMEDIO,
       ALT_MODA_PROMEDIO_INT.FACTOR_CORREC_INFOCA,
       [ALTURA_PROMEDIO]*[FACTOR_CORREC_INFOCA]/2 AS ALT_CORR
FROM ALT_MODA_PROMEDIO_INT
GROUP BY ALT_MODA_PROMEDIO_INT.ZONA,
         ALT_MODA_PROMEDIO_INT.PARCELA,
         ALT_MODA_PROMEDIO_INT.QUADRAT,
         ALT_MODA_PROMEDIO_INT.FECHA,
         ALT_MODA_PROMEDIO_INT.FACTOR_CORREC_INFOCA;

El resultado lo hemos guardado en el archivo ALTURA_MODA_PROMEDIO_QUADRAT.xlsx que está en la ruta data/raw/ALTURA_MODA_PROMEDIO_QUADRAT.xlsx

  • Suelo desnudo Quadrat: CONSULTAS_DESNUDO/DESNUDO_QUADRAT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       GEO_QUADRAT.RANGO_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       TAB_VISITA_EVAL_VEG_QUAD.COB_DESNUDO AS DESNUDO
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN (GEO_ZONA
            INNER JOIN ((GEO_PARCELA
                         INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                        INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO
WHERE (((DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS)<>#10/9/2019#));

El resultado lo hemos guardado en el archivo DESNUDO_QUADRAT.xlsx que está en la ruta data/raw/DESNUDO_QUADRAT.xlsx

  • Diversidad Quadrat: CONSULTAS_DIVERSIDAD/DIVERSIDAD_QUADRAT
SELECT DIVERSIDAD_QUADRAT_INT.ZONA,
       DIVERSIDAD_QUADRAT_INT.PARCELA,
       DIVERSIDAD_QUADRAT_INT.QUADRAT,
       DIVERSIDAD_QUADRAT_INT.RANGO_INFOCA,
       DIVERSIDAD_QUADRAT_INT.FACTOR_CORREC_INFOCA,
       DIVERSIDAD_QUADRAT_INT.FECHA_MUESTREOS,
       Sum(DIVERSIDAD_QUADRAT_INT.PI_LNPI) AS I_SHANNON
FROM DIVERSIDAD_QUADRAT_INT
GROUP BY DIVERSIDAD_QUADRAT_INT.ZONA,
         DIVERSIDAD_QUADRAT_INT.PARCELA,
         DIVERSIDAD_QUADRAT_INT.QUADRAT,
         DIVERSIDAD_QUADRAT_INT.RANGO_INFOCA,
         DIVERSIDAD_QUADRAT_INT.FACTOR_CORREC_INFOCA,
         DIVERSIDAD_QUADRAT_INT.FECHA_MUESTREOS;

El resultado lo hemos guardado en el archivo DIVERSIDAD_QUADRAT.xlsx que está en la ruta data/raw/DIVERSIDAD_QUADRAT.xlsx

  • Tasa de Fitovolumen Total Quadrat: CONSULTAS_FITOVOLUMEN/FITOVOL_TOTAL_QUADRAT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       GEO_QUADRAT.RANGO_INFOCA,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       Sum([EVAL_VEG_QUADRAT_SP]![COBERTURA]*[EVAL_VEG_QUADRAT_SP]![ALTURA_MOD]) AS FITOVOL
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN ((GEO_ZONA
             INNER JOIN ((GEO_PARCELA
                          INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                         INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA)
            INNER JOIN (DICC_ESPECIES
                        INNER JOIN EVAL_VEG_QUADRAT_SP ON DICC_ESPECIES.ID_ESPECIE = EVAL_VEG_QUADRAT_SP.COD_ESPECIE) ON TAB_VISITA_EVAL_VEG_QUAD.ID_VISITA_QUADRAT = EVAL_VEG_QUADRAT_SP.Cod_visita_quadrat) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO
GROUP BY GEO_ZONA.Nombre_zona,
         GEO_PARCELA.NOMBRE,
         GEO_QUADRAT.NOMBRE,
         GEO_QUADRAT.RANGO_INFOCA,
         GEO_QUADRAT.FACTOR_CORREC_INFOCA,
         DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS
HAVING (((DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS)<>#10/9/2019#));

El resultado lo hemos guardado en el archivo FITOVOL_TOTAL_QUADRAT.xlsx que está en la ruta data/raw/FITOVOL_TOTAL_QUADRAT.xlsx

  • Suelo mantillo promedio Quadrat: CONSULTAS_MANTILLO/MANTILLO_QUADRAT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       GEO_QUADRAT.RANGO_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       TAB_VISITA_EVAL_VEG_QUAD.COB_MANTILLO AS MANTILLO
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN (GEO_ZONA
            INNER JOIN ((GEO_PARCELA
                         INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                        INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO
WHERE (((DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS)<>#10/9/2019#));

El resultado lo hemos guardado en el archivo MANTILLO_QUADRAT.xlsx que está en la ruta data/raw/MANTILLO_QUADRAT.xlsx

  • Tasa de Recubrimiento Total Quadrat: CONSULTAS_RECUBRIMIENTO_TOTAL/REC_TOTAL_QUADRAT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       GEO_QUADRAT.RANGO_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       TAB_VISITA_EVAL_VEG_QUAD.COB_TOTAL,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA
FROM GEO_ZONA
INNER JOIN ((GEO_PARCELA
             INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
            INNER JOIN (DICC_FECHA_MUESTREOS_VEGE_OVEJA
                        INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO) ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA
WHERE (((DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS)<>#10/9/2019#));

El resultado lo hemos guardado en el archivo REC_TOTAL_QUADRAT.xlsx que está en la ruta data/raw/REC_TOTAL_QUADRAT.xlsx

  • Tasa de Recubrimiento Vegetal Quadrat: CONSULTAS_RECUBRIMIENTO_VEGETAL/REC_VEG_QUADRAT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       GEO_QUADRAT.RANGO_INFOCA,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       Sum(EVAL_VEG_QUADRAT_SP.COBERTURA) AS REC_VEG,
       EVAL_VEG_QUADRAT_SP.MUERTA
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN ((GEO_ZONA
             INNER JOIN ((GEO_PARCELA
                          INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                         INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA)
            INNER JOIN EVAL_VEG_QUADRAT_SP ON TAB_VISITA_EVAL_VEG_QUAD.ID_VISITA_QUADRAT = EVAL_VEG_QUADRAT_SP.Cod_visita_quadrat) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO
GROUP BY GEO_ZONA.Nombre_zona,
         GEO_PARCELA.NOMBRE,
         GEO_QUADRAT.NOMBRE,
         GEO_QUADRAT.RANGO_INFOCA,
         GEO_QUADRAT.FACTOR_CORREC_INFOCA,
         DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
         EVAL_VEG_QUADRAT_SP.MUERTA
HAVING (((DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS)<>#10/9/2019#)
        AND ((EVAL_VEG_QUADRAT_SP.MUERTA)=FALSE));

El resultado lo hemos guardado en el archivo REC_VEG_QUADRAT.xlsx que está en la ruta data/raw/REC_VEG_QUADRAT.xlsx

  • Riqueza Quadrat: CONSULTAS_RIQUEZA/RIQUEZA_QUADRAT
SELECT GEO_ZONA.Nombre_zona,
       GEO_PARCELA.NOMBRE,
       GEO_QUADRAT.NOMBRE,
       GEO_QUADRAT.RANGO_INFOCA,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       Count(GEO_QUADRAT.NOMBRE) AS RIQUEZA,
       [RIQUEZA]*[FACTOR_CORREC_INFOCA] AS RIQUEZA_COR
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN ((GEO_ZONA
             INNER JOIN ((GEO_PARCELA
                          INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                         INNER JOIN TAB_VISITA_EVAL_VEG_QUAD ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_VEG_QUAD.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA)
            INNER JOIN (DICC_ESPECIES
                        INNER JOIN EVAL_VEG_QUADRAT_SP ON DICC_ESPECIES.ID_ESPECIE = EVAL_VEG_QUADRAT_SP.COD_ESPECIE) ON TAB_VISITA_EVAL_VEG_QUAD.ID_VISITA_QUADRAT = EVAL_VEG_QUADRAT_SP.Cod_visita_quadrat) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_VEG_QUAD.COD_FECHA_MUESTREO
GROUP BY GEO_ZONA.Nombre_zona,
         GEO_PARCELA.NOMBRE,
         GEO_QUADRAT.NOMBRE,
         GEO_QUADRAT.RANGO_INFOCA,
         GEO_QUADRAT.FACTOR_CORREC_INFOCA,
         DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS;

El resultado lo hemos guardado en el archivo RIQUEZA_QUADRAT.xlsx que está en la ruta data/raw/RIQUEZA_QUADRAT.xlsx

  • Severidad Quemas Quadrat: CONSULTAS_SEVERIDAD_QUEMA/SEV_QUEMA_QUAD_TOT
SELECT GEO_ZONA.Nombre_zona AS ZONA,
       GEO_PARCELA.NOMBRE AS PARCELA,
       GEO_QUADRAT.NOMBRE AS QUADRAT,
       DICC_FECHA_MUESTREOS_VEGE_OVEJA.FECHA_MUESTREOS,
       GEO_QUADRAT.RANGO_INFOCA,
       GEO_QUADRAT.FACTOR_CORREC_INFOCA,
       TAB_VISITA_EVAL_QUEMA.PORC_SOFLAMADO,
       TAB_VISITA_EVAL_QUEMA.PORC_QUEMADO,
       DICC_RANGO_QUEMA.RANGO AS RANGO_QUEMA
FROM DICC_FECHA_MUESTREOS_VEGE_OVEJA
INNER JOIN (GEO_ZONA
            INNER JOIN ((GEO_PARCELA
                         INNER JOIN GEO_QUADRAT ON GEO_PARCELA.OBJECTID_1 = GEO_QUADRAT.COD_PARCELA)
                        INNER JOIN (DICC_RANGO_QUEMA
                                    INNER JOIN TAB_VISITA_EVAL_QUEMA ON DICC_RANGO_QUEMA.ID_RANGO_QUEMA = TAB_VISITA_EVAL_QUEMA.COD_RANGO_QUEMA) ON GEO_QUADRAT.OBJECTID = TAB_VISITA_EVAL_QUEMA.COD_QUADRAT) ON GEO_ZONA.OBJECTID = GEO_PARCELA.COD_ZONA) ON DICC_FECHA_MUESTREOS_VEGE_OVEJA.ID_FECHA_MUESTREOS_VEG = TAB_VISITA_EVAL_QUEMA.COD_FECHA_MUESTREO;

El resultado lo hemos guardado en el archivo SEV_QUEMA_QUAD_TOT.xlsx que está en la ruta data/raw/SEV_QUEMA_QUAD_TOT.xlsx

  • Tasa de Consumo Quadrat: CONSULTAS_TASA_DE_CONSUMO/TASA_CONSUMO_PROMEDIO_QUADRAT
SELECT TASA_CONSUMO_SP_QUADRAT.Nombre_zona AS ZONA,
       TASA_CONSUMO_SP_QUADRAT.GEO_PARCELA.NOMBRE AS PARCELA,
       TASA_CONSUMO_SP_QUADRAT.GEO_QUADRAT.NOMBRE AS QUADRAT,
       TASA_CONSUMO_SP_QUADRAT.FACTOR_CORREC_INFOCA,
       TASA_CONSUMO_SP_QUADRAT.FECHA_MUESTREOS,
       Sum([TASA_CONSUMO_SP_QUADRAT]![TASA_CONSUMO]*[TASA_CONSUMO_SP_QUADRAT]![COBERTURA]/[REC_VEG_QUADRAT]![REC_VEG]) AS TASA_CONSUMO
FROM TASA_CONSUMO_SP_QUADRAT
INNER JOIN REC_VEG_QUADRAT ON (TASA_CONSUMO_SP_QUADRAT.FECHA_MUESTREOS = REC_VEG_QUADRAT.FECHA_MUESTREOS)
AND (TASA_CONSUMO_SP_QUADRAT.GEO_QUADRAT.NOMBRE = REC_VEG_QUADRAT.QUADRAT)
GROUP BY TASA_CONSUMO_SP_QUADRAT.Nombre_zona,
         TASA_CONSUMO_SP_QUADRAT.GEO_PARCELA.NOMBRE,
         TASA_CONSUMO_SP_QUADRAT.GEO_QUADRAT.NOMBRE,
         TASA_CONSUMO_SP_QUADRAT.FACTOR_CORREC_INFOCA,
         TASA_CONSUMO_SP_QUADRAT.FECHA_MUESTREOS;

El resultado lo hemos guardado en el archivo TASA_CONSUMO_PROMEDIO_QUADRAT.xlsx que está en la ruta data/raw/TASA_CONSUMO_PROMEDIO_QUADRAT.xlsx

Estandarización a DwC (ExtendMeasurementOrFact, emof)

library(tidyverse) # Easily Install and Load the 'Tidyverse'
── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.0      ✔ purrr   0.3.5 
✔ tibble  3.1.8      ✔ dplyr   1.0.10
✔ tidyr   1.2.1      ✔ stringr 1.4.1 
✔ readr   2.1.3      ✔ forcats 0.5.2 
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
library(here) # A Simpler Way to Find Your Files
here() starts at /Users/ajpelu/SERPAM Dropbox/14_GBIF/01_O2P/dwc_o2p
library(janitor) # Simple Tools for Examining and Cleaning Dirty Data

Attaching package: 'janitor'

The following objects are masked from 'package:stats':

    chisq.test, fisher.test
dicc_variables <- read.csv(here::here("data/raw/dic_var.csv"), sep = ";", 
                           encoding = 'UTF-8') |> 
  rename(measurementType = name_var,
         measurementUnit = units,
         measurementMethod = methods,
         measurementRemarks = url_controlled)
files <- list.files(path = here::here("data/raw/quadrats/"),
                    pattern = "*.xlsx", 
                    full.names = FALSE)

Genera una función para formatear todos los excels y dejarlos con un formato parecido a DwC emof

files |> 
  purrr::map(function(filename){
    aux <- readxl::read_excel(here::here("data/raw/quadrats/", basename(filename))) |> 
      janitor::clean_names() |> 
      rename_with(
        ~ case_when(
          . == "fecha" ~ "fecha_muestreos",
          . == "nombre_zona" ~ "zona",
          . == "geo_quadrat_nombre" ~ "quadrat",
          . == "geo_parcela_nombre" ~ "parcela",
          TRUE ~ .))
    
    aux_event <- aux |> 
      dplyr::select(-contains("correc"), 
                    -contains("cor"),
                    -contains("muerta"),
                    -contains("rango_infoca")) |> 
      mutate(
        treatment_name = case_when(
          zona == "Quemado con pastoreo" ~ "QOP",
          zona == "Quemado sin pastoreo" ~ "QONP",
          zona == "Quemado primavera" ~ "QPP")) |> 
      mutate(date = gsub("-","",fecha_muestreos)) |> 
      unite("eventID", c(quadrat, date), remove = FALSE) |> 
      rename(measurementDeterminedDate = date) |> 
      dplyr::select(-zona, -parcela, -fecha_muestreos) |> 
      pivot_longer(-c(eventID, quadrat, measurementDeterminedDate, treatment_name)) |> 
      dplyr::select(-quadrat, -treatment_name) |> 
      rename(measurementValue = value)
    
    
    assign(x = tolower(str_remove(filename, ".xlsx")),
           value = aux_event, 
           envir = .GlobalEnv)
  })
[[1]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name     measurementValue
   <chr>          <chr>                     <chr>               <dbl>
 1 P04Q1_20181121 20181121                  alt_prom             41.2
 2 P04Q1_20190604 20190604                  alt_prom             10.8
 3 P04Q1_20191218 20191218                  alt_prom             23.9
 4 P04Q1_20200519 20200519                  alt_prom             19.5
 5 P04Q1_20201117 20201117                  alt_prom             19.8
 6 P04Q1_20210519 20210519                  alt_prom             28.6
 7 P04Q2_20181121 20181121                  alt_prom             67.4
 8 P04Q2_20190604 20190604                  alt_prom             24.7
 9 P04Q2_20191218 20191218                  alt_prom             89.9
10 P04Q2_20200519 20200519                  alt_prom             40.0
# … with 534 more rows

[[2]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name            measurementValue
   <chr>          <chr>                     <chr>                      <dbl>
 1 P04Q1_20181121 20181121                  altura_promedio            3.88 
 2 P04Q1_20190604 20190604                  altura_promedio            0.452
 3 P04Q1_20191218 20191218                  altura_promedio            0.723
 4 P04Q1_20200519 20200519                  altura_promedio            0.607
 5 P04Q1_20201117 20201117                  altura_promedio            1.05 
 6 P04Q1_20210519 20210519                  altura_promedio            1.78 
 7 P04Q2_20181121 20181121                  altura_promedio            6.91 
 8 P04Q2_20190604 20190604                  altura_promedio            0.947
 9 P04Q2_20191218 20191218                  altura_promedio            0.681
10 P04Q2_20200519 20200519                  altura_promedio            0.793
# … with 534 more rows

[[3]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name    measurementValue
   <chr>          <chr>                     <chr>              <dbl>
 1 P04Q1_20181121 20181121                  desnudo               60
 2 P04Q1_20190604 20190604                  desnudo               70
 3 P04Q1_20191218 20191218                  desnudo               12
 4 P04Q1_20200519 20200519                  desnudo               83
 5 P04Q1_20201117 20201117                  desnudo               82
 6 P04Q1_20210519 20210519                  desnudo               65
 7 P04Q2_20181121 20181121                  desnudo                7
 8 P04Q2_20190604 20190604                  desnudo               15
 9 P04Q2_20191218 20191218                  desnudo               60
10 P04Q2_20200519 20200519                  desnudo               38
# … with 534 more rows

[[4]]
# A tibble: 539 × 4
   eventID         measurementDeterminedDate name      measurementValue
   <chr>           <chr>                     <chr>                <dbl>
 1 NP07Q1_20181121 20181121                  i_shannon            -1.57
 2 NP07Q1_20190604 20190604                  i_shannon            -2.07
 3 NP07Q1_20191218 20191218                  i_shannon            -1.99
 4 NP07Q1_20200519 20200519                  i_shannon            -2.21
 5 NP07Q1_20201117 20201117                  i_shannon            -2.09
 6 NP07Q1_20210519 20210519                  i_shannon            -1.95
 7 NP07Q2_20181121 20181121                  i_shannon            -1.20
 8 NP07Q2_20190604 20190604                  i_shannon            -1.88
 9 NP07Q2_20191218 20191218                  i_shannon            -1.44
10 NP07Q2_20200519 20200519                  i_shannon            -2.15
# … with 529 more rows

[[5]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name    measurementValue
   <chr>          <chr>                     <chr>              <dbl>
 1 P04Q1_20181121 20181121                  fitovol             871.
 2 P04Q1_20190604 20190604                  fitovol             173.
 3 P04Q1_20191218 20191218                  fitovol             118.
 4 P04Q1_20200519 20200519                  fitovol             241.
 5 P04Q1_20201117 20201117                  fitovol             204.
 6 P04Q1_20210519 20210519                  fitovol             546.
 7 P04Q2_20181121 20181121                  fitovol            4361.
 8 P04Q2_20190604 20190604                  fitovol             238.
 9 P04Q2_20191218 20191218                  fitovol             640.
10 P04Q2_20200519 20200519                  fitovol             442.
# … with 534 more rows

[[6]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name     measurementValue
   <chr>          <chr>                     <chr>               <dbl>
 1 P04Q1_20181121 20181121                  mantillo                5
 2 P04Q1_20190604 20190604                  mantillo                8
 3 P04Q1_20191218 20191218                  mantillo               76
 4 P04Q1_20200519 20200519                  mantillo                1
 5 P04Q1_20201117 20201117                  mantillo                2
 6 P04Q1_20210519 20210519                  mantillo                2
 7 P04Q2_20181121 20181121                  mantillo               18
 8 P04Q2_20190604 20190604                  mantillo               60
 9 P04Q2_20191218 20191218                  mantillo               25
10 P04Q2_20200519 20200519                  mantillo               40
# … with 534 more rows

[[7]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name      measurementValue
   <chr>          <chr>                     <chr>                <dbl>
 1 P04Q1_20181121 20181121                  cob_total               35
 2 P04Q1_20190604 20190604                  cob_total               22
 3 P04Q1_20191218 20191218                  cob_total               12
 4 P04Q1_20200519 20200519                  cob_total               16
 5 P04Q1_20201117 20201117                  cob_total               16
 6 P04Q1_20210519 20210519                  cob_total               33
 7 P04Q2_20181121 20181121                  cob_total               75
 8 P04Q2_20190604 20190604                  cob_total               25
 9 P04Q2_20191218 20191218                  cob_total               15
10 P04Q2_20200519 20200519                  cob_total               22
# … with 534 more rows

[[8]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name    measurementValue
   <chr>          <chr>                     <chr>              <dbl>
 1 P04Q1_20181121 20181121                  rec_veg             29.5
 2 P04Q1_20190604 20190604                  rec_veg             27.4
 3 P04Q1_20191218 20191218                  rec_veg              9.4
 4 P04Q1_20200519 20200519                  rec_veg             22.3
 5 P04Q1_20201117 20201117                  rec_veg             17.6
 6 P04Q1_20210519 20210519                  rec_veg             31.7
 7 P04Q2_20181121 20181121                  rec_veg             81.4
 8 P04Q2_20190604 20190604                  rec_veg             25.1
 9 P04Q2_20191218 20191218                  rec_veg             15.5
10 P04Q2_20200519 20200519                  rec_veg             18.5
# … with 534 more rows

[[9]]
# A tibble: 640 × 4
   eventID        measurementDeterminedDate name    measurementValue
   <chr>          <chr>                     <chr>              <dbl>
 1 P04Q1_20181121 20181121                  riqueza                8
 2 P04Q1_20190604 20190604                  riqueza               14
 3 P04Q1_20191009 20191009                  riqueza               11
 4 P04Q1_20191218 20191218                  riqueza               10
 5 P04Q1_20200519 20200519                  riqueza               20
 6 P04Q1_20201117 20201117                  riqueza               10
 7 P04Q1_20210519 20210519                  riqueza               10
 8 P04Q2_20181121 20181121                  riqueza               11
 9 P04Q2_20190604 20190604                  riqueza               10
10 P04Q2_20191009 20191009                  riqueza                8
# … with 630 more rows

[[10]]
# A tibble: 288 × 4
   eventID        measurementDeterminedDate name           measurementValue
   <chr>          <chr>                     <chr>                     <dbl>
 1 P04Q1_20190305 20190305                  rango_quema                   2
 2 P04Q1_20190305 20190305                  porc_soflamado               75
 3 P04Q1_20190305 20190305                  porc_quemado                 25
 4 P04Q2_20190305 20190305                  rango_quema                   4
 5 P04Q2_20190305 20190305                  porc_soflamado               30
 6 P04Q2_20190305 20190305                  porc_quemado                 70
 7 P04Q3_20190305 20190305                  rango_quema                   1
 8 P04Q3_20190305 20190305                  porc_soflamado               40
 9 P04Q3_20190305 20190305                  porc_quemado                  5
10 P04Q4_20190305 20190305                  rango_quema                   5
# … with 278 more rows

[[11]]
# A tibble: 544 × 4
   eventID        measurementDeterminedDate name         measurementValue
   <chr>          <chr>                     <chr>                   <dbl>
 1 P04Q1_20181121 20181121                  tasa_consumo            0    
 2 P04Q1_20190604 20190604                  tasa_consumo            0    
 3 P04Q1_20191218 20191218                  tasa_consumo            1.5  
 4 P04Q1_20200519 20200519                  tasa_consumo            1.64 
 5 P04Q1_20201117 20201117                  tasa_consumo            0.972
 6 P04Q1_20210519 20210519                  tasa_consumo            0.896
 7 P04Q2_20181121 20181121                  tasa_consumo            0    
 8 P04Q2_20190604 20190604                  tasa_consumo            0    
 9 P04Q2_20191218 20191218                  tasa_consumo            1.77 
10 P04Q2_20200519 20200519                  tasa_consumo            0.973
# … with 534 more rows

Genera emof para cada variable

Variables relacionadas con la estructura

Altura máxima Quadrat

event_altura_max <- 
  altura_max_promedio_quadrat |> 
  mutate(measurementValue = round(measurementValue, 2)) |> 
  mutate(name = case_when(name == "alt_prom" ~ "maxheight")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Altura moda Quadrat

event_altura_moda <- 
  altura_moda_promedio_quadrat |> 
  mutate(measurementValue = round(measurementValue, 2)) |> 
  mutate(name = case_when(name == "altura_promedio" ~ "modeheight")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Fitovolumen Total Quadrat

event_fitovol <- 
  fitovol_total_quadrat |> 
  mutate(name = case_when(name == "fitovol" ~ "fitovolumen")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Variables relacionadas con la cobertura

Suelo desnudo Quadrat

event_desnudo <- 
  desnudo_quadrat |> 
  mutate(name = case_when(name == "desnudo" ~ "bare_soil_percent")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Mantillo Quadrat

event_mantillo <- 
  mantillo_quadrat |> 
  mutate(name = case_when(name == "mantillo" ~ "litter_soil_percent")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Rec Total Quadrat

event_rec_total <- 
  rec_total_quadrat |> 
  mutate(name = case_when(name == "cob_total" ~ "tcover_percent")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Rec Veg Quadrat

event_rec_veg <- 
  rec_veg_quadrat |> 
  mutate(name = case_when(name == "rec_veg" ~ "vcover_percent")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Variables relacionadas con la biodiversidad

Diversidad Quadrat

event_diversidad <- 
  diversidad_quadrat |> 
  mutate(measurementValue = round(abs(measurementValue),3)) |> 
  mutate(name = case_when(name == "i_shannon" ~ "diversity")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Riqueza Quadrat

event_riqueza <- 
  riqueza_quadrat |> 
  mutate(name = case_when(name == "riqueza" ~ "richness")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Otras variables

Severidad de Quema Quadrat

event_severidad <- 
  sev_quema_quad_tot |> 
  mutate(name = 
           case_when(name == "rango_quema" ~ "burning",
                     name == "porc_soflamado" ~ "blowing_level_percent",
                     name == "porc_quemado" ~ "burning_level_percent")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Tasa Consumo Quadrat

event_tasa_consumo <- 
  tasa_consumo_promedio_quadrat |>
  mutate(measurementValue = round(measurementValue, 2)) |> 
  mutate(name = case_when(name == "tasa_consumo" ~ "tc")) |> 
  inner_join(dicc_variables,
    by = c("name" = "raw_key")) |>
  unite("measurementID", c(eventID, id), remove = FALSE) |> 
  dplyr::select(-code, -name, -id)

Genera un dataframe con todos los datos

o <- ls(pattern = "event_*") 

emof_quadrats <- bind_rows(mget(o)) |> 
  relocate(measurementType, measurementValue, measurementUnit, .after = eventID)

La tabla se exporta en csv en el siguiente enlace data/dwc_db/emof_quadrats.csv.

# Export table
write_csv(emof_quadrats, 
          here::here("data/dwc_db/emof_quadrats.csv"))

Aspecto de la tabla:


sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Monterey 12.3.1

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] janitor_2.1.0   here_1.0.1      forcats_0.5.2   stringr_1.4.1  
 [5] dplyr_1.0.10    purrr_0.3.5     readr_2.1.3     tidyr_1.2.1    
 [9] tibble_3.1.8    ggplot2_3.4.0   tidyverse_1.3.2 workflowr_1.7.0

loaded via a namespace (and not attached):
 [1] httr_1.4.4          sass_0.4.4          bit64_4.0.5        
 [4] vroom_1.6.0         jsonlite_1.8.4      modelr_0.1.9       
 [7] bslib_0.4.2         assertthat_0.2.1    getPass_0.2-2      
[10] googlesheets4_1.0.1 cellranger_1.1.0    yaml_2.3.7         
[13] pillar_1.8.1        backports_1.4.1     glue_1.6.2         
[16] digest_0.6.31       promises_1.2.0.1    rvest_1.0.3        
[19] snakecase_0.11.0    colorspace_2.0-3    htmltools_0.5.4    
[22] httpuv_1.6.8        pkgconfig_2.0.3     broom_1.0.1        
[25] haven_2.5.1         scales_1.2.1        processx_3.7.0     
[28] whisker_0.4         later_1.3.0         tzdb_0.3.0         
[31] git2r_0.30.1        googledrive_2.0.0   generics_0.1.3     
[34] DT_0.26             ellipsis_0.3.2      cachem_1.0.6       
[37] withr_2.5.0         cli_3.6.0           magrittr_2.0.3     
[40] crayon_1.5.2        readxl_1.4.1        evaluate_0.18      
[43] ps_1.7.1            fs_1.5.2            fansi_1.0.3        
[46] xml2_1.3.3          tools_4.2.1         hms_1.1.2          
[49] gargle_1.2.1        lifecycle_1.0.3     munsell_0.5.0      
[52] reprex_2.0.2        callr_3.7.3         compiler_4.2.1     
[55] jquerylib_0.1.4     rlang_1.0.6         grid_4.2.1         
[58] rstudioapi_0.14     htmlwidgets_1.5.4   crosstalk_1.2.0    
[61] rmarkdown_2.18      gtable_0.3.1        DBI_1.1.3          
[64] R6_2.5.1            lubridate_1.8.0     knitr_1.41         
[67] fastmap_1.1.0       bit_4.0.4           utf8_1.2.2         
[70] rprojroot_2.0.3     stringi_1.7.8       parallel_4.2.1     
[73] Rcpp_1.0.9          vctrs_0.5.1         dbplyr_2.2.1       
[76] tidyselect_1.2.0    xfun_0.35