Código Equivalente de R al Código de Python
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
planilla_r
## 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%
# 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