# Cargar librerías
library(agricolae)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.2.1 ✔ readr 2.2.0
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ ggplot2 4.0.3 ✔ tibble 3.3.1
## ✔ lubridate 1.9.5 ✔ tidyr 1.3.2
## ✔ purrr 1.2.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
# 1. Definir los tratamientos y generar el diseño DCA
trt <- c("Riego_50%", "Riego_75%", "Riego_100%", "Riego_125%")
trt
## [1] "Riego_50%" "Riego_75%" "Riego_100%" "Riego_125%"
# design.crd genera automáticamente la aleatorización y el croquis
# r = 4 indica las réplicas, seed asegura reproducibilidad
diseno_dca <- design.crd(trt, r = 4, serie = 2, seed = 123)
diseno_dca
## $parameters
## $parameters$design
## [1] "crd"
##
## $parameters$trt
## [1] "Riego_50%" "Riego_75%" "Riego_100%" "Riego_125%"
##
## $parameters$r
## [1] 4 4 4 4
##
## $parameters$serie
## [1] 2
##
## $parameters$seed
## [1] 123
##
## $parameters$kinds
## [1] "Super-Duper"
##
## $parameters[[7]]
## [1] TRUE
##
##
## $book
## plots r trt
## 1 101 1 Riego_75%
## 2 102 1 Riego_50%
## 3 103 1 Riego_125%
## 4 104 1 Riego_100%
## 5 105 2 Riego_100%
## 6 106 2 Riego_125%
## 7 107 3 Riego_100%
## 8 108 3 Riego_125%
## 9 109 2 Riego_50%
## 10 110 3 Riego_50%
## 11 111 4 Riego_50%
## 12 112 2 Riego_75%
## 13 113 3 Riego_75%
## 14 114 4 Riego_125%
## 15 115 4 Riego_75%
## 16 116 4 Riego_100%
# 2. Extraer la planilla de campo generada por agricolae
planilla_r <- diseno_dca$book
# 3. Preparar la estructura para easyanova (Tratamiento como factor)
planilla_final <- planilla_r %>%
select(plots, trt) %>%
rename(Parcela = plots, Tratamiento = trt) %>%
mutate(
Tratamiento = as.factor(Tratamiento), # ¡Clave para easyanova!
Eficiencia_Agua = NA # Columna para los datos de campo
)
# Mostrar la tabla lista para imprimir
print(planilla_final)
## Parcela Tratamiento Eficiencia_Agua
## 1 101 Riego_75% NA
## 2 102 Riego_50% NA
## 3 103 Riego_125% NA
## 4 104 Riego_100% NA
## 5 105 Riego_100% NA
## 6 106 Riego_125% NA
## 7 107 Riego_100% NA
## 8 108 Riego_125% NA
## 9 109 Riego_50% NA
## 10 110 Riego_50% NA
## 11 111 Riego_50% NA
## 12 112 Riego_75% NA
## 13 113 Riego_75% NA
## 14 114 Riego_125% NA
## 15 115 Riego_75% NA
## 16 116 Riego_100% NA
library(agricolae)agricolae, una biblioteca especializada en procedimientos
estadísticos, diseños y análisis para investigación agrícola y
experimental.library(tidyverse)dplyr, tibble,
magrittr, entre otros) para la manipulación y
transformación de estructuras de datos mediante el operador de tubería
(pipe %>%).trt <- c("Riego_50%", "Riego_75%", "Riego_100%", "Riego_125%")character) con cuatro elementos que contienen las
etiquetas de los niveles a evaluar.diseno_dca <- design.crd(trt, r = 4, serie = 2, seed = 123)design.crd()
(Completely Randomized Design). Recibe el vector trt, fija
4 repeticiones con el argumento \(r =
4\), asigna códigos de parcelas de dos dígitos iniciando en
centenas (serie = 2), y fija la semilla del generador
pseudoaleatorio (seed = 123). Devuelve un objeto de tipo
lista con metadatos, croquis y libro de campo.planilla_r <- diseno_dca$book$ para extraer el data frame denominado
book, almacenado dentro de la lista generada por
agricolae.planilla_final <- planilla_r %>%planilla_final) e inicia la secuencia
de operaciones canalizadas mediante el pipe
%>%.easyanova.select(plots, trt) %>%plots (número de parcela) y
trt (tratamiento asignado), descartando columnas auxiliares
de orden.rename(Parcela = plots, Tratamiento = trt) %>%mutate(Tratamiento = as.factor(Tratamiento), Eficiencia_Agua = NA)En R: Crea o modifica columnas:
Convierte la columna Tratamiento de vector de texto
a tipo factor categórico.
Agrega la columna Eficiencia_Agua inicializada con
valores vacíos (NA).
En Diseño Experimental:
Factorización: Es indispensable para que los modelos lineales y las rutinas ANOVA reconozcan la variable como cualitativa/clasificatoria y calculen correctamente las sumas de cuadrados entre tratamientos.
Variable de Respuesta: Crea el espacio para registrar la variable dependiente cuantitativa continua (\(Y_{ij}\)) que será medida directamente en las unidades experimentales.
print(planilla_final)