| Type: | Package |
| Title: | Data Visualization and Statistical Tools for Agroindustrial Experiments |
| Version: | 0.2.0 |
| Maintainer: | Joaquin Alejandro Salinas Angeles <joaquinsa03@gmail.com> |
| Description: | Set of tools for statistical analysis, visualization, and reporting of agroindustrial and agricultural experiments. The package provides functions to perform ANOVA with post-hoc tests (e.g. Tukey HSD and Duncan MRR), compute coefficients of variation, and generate publication-ready summaries. High-level wrappers allow automated multi-variable analysis with optional clustering by experimental factors, as well as direct export of results to Excel spreadsheets and high-resolution image tables for reporting. Functions build on 'ggplot2', 'stats', and related packages and follow methods widely used in agronomy (field trials and plant breeding). Key references include Tukey (1949) <doi:10.2307/3001913>, Duncan (1955) <doi:10.2307/3001478>, and Cohen (1988, ISBN:9781138892899); see also 'agricolae' https://CRAN.R-project.org/package=agricolae and Wickham (2016, ISBN:9783319242750> for 'ggplot2'. Versión en español: Conjunto de herramientas para el análisis estadístico, visualización y generación de reportes en ensayos agroindustriales y agrícolas. Incluye funciones para ANOVA con pruebas post-hoc, resúmenes automáticos multivariables con o sin agrupamiento por factores, y exportación directa de resultados a Excel e imágenes de alta resolución para informes técnicos. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| Language: | en, es |
| Depends: | R (≥ 3.5.0) |
| Imports: | dplyr, ggplot2, tidyr, stringr, agricolae, stats, pwr, rlang, kableExtra, magick, tinytex, openxlsx |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.3 |
| URL: | https://github.com/Joa3aquin50/agrobox |
| BugReports: | https://github.com/Joa3aquin50/agrobox/issues |
| NeedsCompilation: | no |
| Packaged: | 2026-01-07 02:50:52 UTC; JOAQUIN SALINAS |
| Author: | Joaquin Alejandro Salinas Angeles
|
| Repository: | CRAN |
| Date/Publication: | 2026-01-08 04:30:02 UTC |
Genera un grafico y analisis estadistico por grupo
Description
Esta funcion realiza analisis estadisticos por grupos definidos (clusteres) usando ANOVA y pruebas post-hoc (Duncan o Tukey), y genera un grafico tipo boxplot con etiquetas de medias, letras de significancia, coeficiente de variacion (CV) y potencia estadistica (Power).
Usage
agrobox(
data,
test = c("Duncan", "Tukey"),
factor,
factor2 = NULL,
orden_factor = NULL,
bloque = NULL,
variable,
niveles_factor = NULL,
titulo = NULL,
estructura = NULL,
lim_sup = NULL,
lim_inf = NULL,
colores = NULL
)
Arguments
data |
Un data frame que contiene los datos. |
test |
Tipo de prueba post-hoc a usar: '"Duncan"' (por defecto) o '"Tukey"'. |
factor |
Variable categorica principal (factor 1 o tratamiento). |
factor2 |
(Opcional) Segundo factor para interaccion (usado en ANOVA). |
orden_factor |
(Opcional) Vector con el orden deseado para los niveles del 'factor'. |
bloque |
(Opcional) Variable de bloque para disenos con bloques completos. |
variable |
Variable numerica dependiente. |
niveles_factor |
(Opcional) Etiquetas personalizadas para los niveles del 'factor'. |
titulo |
Etiqueta para el eje Y del grafico (por ejemplo: "Altura (cm)"). |
estructura |
(Opcional) Formula tipo 'Grupo1 ~ Grupo2' para definir los clusteres. |
lim_sup |
(Opcional) Limite superior para el eje Y. |
lim_inf |
(Opcional) Limite inferior para el eje Y. |
colores |
Vector de colores para los niveles del 'factor'. |
Value
Una lista con:
- plot
Objeto 'ggplot' con el grafico generado.
- levels
Niveles del factor utilizados.
Examples
# Ejemplo de un experimento factorial con bloques y estructura bifactorial
library(dplyr)
library(tidyr)
library(ggplot2)
set.seed(123)
# Diseno factorial con bloques (ej. 4 bloques por Localidad-Variedad)
df_experimento <- expand.grid(
Fertilizante = c("A", "B", "C"),
Dosis = c("Baja", "Media", "Alta"),
Localidad = c("Loc1", "Loc2"),
Variedad = c("Var1", "Var2", "Var3"),
Bloque = paste0("B", 1:4) # Bloques, no repeticiones
)
# Simular rendimiento (tn/ha) con efectos reales
df_experimento$tn_ha <- 20 +
ifelse(df_experimento$Fertilizante == "B", 2,
ifelse(df_experimento$Fertilizante == "C", 4, 0)) +
ifelse(df_experimento$Dosis == "Media", 1,
ifelse(df_experimento$Dosis == "Alta", 2, 0)) +
ifelse(df_experimento$Localidad == "Loc2", 0.5, 0) +
ifelse(df_experimento$Variedad == "Var2", 0.5,
ifelse(df_experimento$Variedad == "Var3", -0.5, 0)) +
rnorm(nrow(df_experimento), mean = 0, sd = 1.2)
# Ejecutar la funcion agrobox
agrobox(
data = df_experimento,
test = "Duncan",
factor = "Fertilizante",
factor2 = "Dosis",
orden_factor = c("A", "C", "B"),
bloque = "Bloque",
variable = "tn_ha",
niveles_factor = c("A" = "Nitrato de amonio",
"B" = "Fosfato diamonico",
"C" = "Sulfato de amonio"),
titulo = "Rendimiento (tn/ha)",
estructura = "Localidad~Variedad",
#se realizara un ANOVA y un TEST POST-HOC por cada grupo.
lim_sup = NULL, lim_inf = NULL,
colores = c("A" = "#1b9e77",
"B" = "#d95f02",
"C" = "#7570b3")
)$plot
Exporta tablas agrobox o agrosintesis a Excel
Description
Escribe una tabla individual o una lista de tablas en un archivo Excel (.xlsx). Cuando se trata de una lista, cada elemento se exporta como una hoja distinta.
Usage
agroexcel(x, file = "resultados_agro.xlsx")
Arguments
x |
data.frame o lista de data.frames. |
file |
nombre del archivo Excel de salida. |
Value
Invisiblemente TRUE si el archivo se genera correctamente.
Examples
## Not run:
# Ejemplo 1: tabla simple desde agrobox
aa <- agrobox(
data = antigua2,
variable = "harvwt",
factor = "trt",
test = "Duncan"
)
write_agro_excel(aa$tabla, file = "tabla_simple.xlsx")
# Ejemplo 2: lista de tablas desde agrosintesis
res <- agrosintesis(
data = df_multi,
variables = c("tn_ha", "peso_fruto"),
estructura = "Variedad~Localidad",
factor = "Fertilizante",
factor2 = "Dosis",
bloque = "Bloque",
test = "Tukey"
)
write_agro_excel(res, file = "resultados_clusters.xlsx")
## End(Not run)
Sintetiza resultados estadísticos para múltiples variables
Description
Aplica agrobox() a una o varias variables y consolida
las tablas resumen. Permite análisis por clusters cuando se
define una estructura.
Usage
agrosintesis(data, variables, estructura = NULL, ...)
Arguments
data |
data.frame con los datos experimentales. |
variables |
vector de nombres de variables respuesta. |
estructura |
fórmula en texto tipo "Factor1~Factor2" para clusters. |
... |
argumentos adicionales pasados a |
Value
Un data.frame si no hay clusters, o una lista de data.frames
si se define estructura.
Exporta tablas de resultados a PNG via LaTeX (modo rapido)
Description
Genera una imagen PNG de alta calidad a partir de una tabla (data.frame)
o una lista de tablas (por ejemplo salida de agrosintesis()),
utilizando LaTeX para el renderizado y convirtiendo el PDF resultante
en imagen.
Usage
agrotabla(x, out_dir = getwd(), file_stub = "TABLA", dpi = 600)
Arguments
x |
data.frame o lista de data.frames. Puede ser |
out_dir |
directorio donde se guardaran los archivos generados. |
file_stub |
nombre base del archivo cuando |
dpi |
resolucion en puntos por pulgada usada al convertir PDF a PNG. |
Details
Esta funcion esta pensada para generar reportes rapidos y elegantes. Debido a que crea archivos PDF y PNG, sus ejemplos no se ejecutan automaticamente durante los checks de CRAN.
Los nombres de archivos se sanitizan automaticamente para ser compatibles con Windows, LaTeX y sistemas de archivos estandar. Los guiones bajos en los encabezados de columnas se escapan para evitar errores de compilacion LaTeX.
Value
Invisiblemente TRUE si la exportacion se realiza correctamente.
Examples
## Not run:
# Ejemplo 1: tabla individual desde agrobox
aa <- agrobox(
data = antigua2,
variable = "harvwt",
factor = "trt",
test = "Duncan"
)
write_rapido(
aa$tabla,
out_dir = "reportes_png",
file_stub = "Rendimiento_site"
)
# Ejemplo 2: multiples tablas desde agrosintesis
res <- agrosintesis(
data = df_multi,
variables = c("tn_ha", "peso_fruto"),
estructura = "Variedad~Localidad",
factor = "Fertilizante",
factor2 = "Dosis",
bloque = "Bloque",
test = "Tukey"
)
write_rapido(
res,
out_dir = "png_clusters"
)
## End(Not run)