install.packages("ggplot2")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library("tidyverse")
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.4 ✔ tidyr 1.3.1
## ✔ purrr 1.0.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
library("readxl")
library("dplyr")
library("leaflet")
library("summarytools")
## Warning in fun(libname, pkgname): couldn't connect to display ":0"
## system might not have X11 capabilities; in case of errors when using dfSummary(), set st_options(use.x11 = FALSE)
##
## Attaching package: 'summarytools'
##
## The following object is masked from 'package:tibble':
##
## view
library("ggplot2")
read_excel()NOGAL <- read_excel("brotacion_nogal.xlsx")
glimpse(NOGAL)
## Rows: 144
## Columns: 5
## $ Cultivar <chr> "Argentina INTA", "Argentina INTA", "Argentina INTA", "…
## $ Repetición <dbl> 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1…
## $ `Tipo de Yema` <chr> "Terminal", "Terminal", "Terminal", "Terminal", "Termin…
## $ HF <dbl> 0, 0, 0, 150, 150, 150, 300, 300, 300, 450, 450, 450, 6…
## $ TMB <dbl> NA, NA, NA, NA, NA, NA, NA, NA, 77.00, 68.00, 71.00, 68…
Argentina <- NOGAL %>% filter(Cultivar == "Argentina INTA")
Argentina
## # A tibble: 72 × 5
## Cultivar Repetición `Tipo de Yema` HF TMB
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 Argentina INTA 1 Terminal 0 NA
## 2 Argentina INTA 2 Terminal 0 NA
## 3 Argentina INTA 3 Terminal 0 NA
## 4 Argentina INTA 1 Terminal 150 NA
## 5 Argentina INTA 2 Terminal 150 NA
## 6 Argentina INTA 3 Terminal 150 NA
## 7 Argentina INTA 1 Terminal 300 NA
## 8 Argentina INTA 2 Terminal 300 NA
## 9 Argentina INTA 3 Terminal 300 77
## 10 Argentina INTA 1 Terminal 450 68
## # ℹ 62 more rows
Yaco_Tula <- NOGAL %>% filter(Cultivar == "Yaco Tula INTA")
Yaco_Tula
## # A tibble: 72 × 5
## Cultivar Repetición `Tipo de Yema` HF TMB
## <chr> <dbl> <chr> <dbl> <dbl>
## 1 Yaco Tula INTA 1 Terminal 0 NA
## 2 Yaco Tula INTA 2 Terminal 0 NA
## 3 Yaco Tula INTA 3 Terminal 0 NA
## 4 Yaco Tula INTA 1 Terminal 150 NA
## 5 Yaco Tula INTA 2 Terminal 150 NA
## 6 Yaco Tula INTA 3 Terminal 150 NA
## 7 Yaco Tula INTA 1 Terminal 300 NA
## 8 Yaco Tula INTA 2 Terminal 300 NA
## 9 Yaco Tula INTA 3 Terminal 300 NA
## 10 Yaco Tula INTA 1 Terminal 450 78
## # ℹ 62 more rows
# Calcular medidas de resumen
resumen_HF_Cultivar_Yema <- NOGAL %>%
group_by(HF, Cultivar, `Tipo de Yema`) %>%
summarise(
Media_TMB = mean(TMB, na.rm = TRUE),
Mediana_TMB = median(TMB, na.rm = TRUE),
Desviacion_Tipica = sd(TMB, na.rm = TRUE),
Min_TMB = min(TMB, na.rm = TRUE),
Max_TMB = max(TMB, na.rm = TRUE),
Rango_TMB = max(TMB, na.rm = TRUE) - min(TMB, na.rm = TRUE),
.groups = "drop"
)
## Warning: There were 40 warnings in `summarise()`.
## The first warning was:
## ℹ In argument: `Min_TMB = min(TMB, na.rm = TRUE)`.
## ℹ In group 1: `HF = 0`, `Cultivar = "Argentina INTA"`, `Tipo de Yema =
## "Lateral"`.
## Caused by warning in `min()`:
## ! no non-missing arguments to min; returning Inf
## ℹ Run `dplyr::last_dplyr_warnings()` to see the 39 remaining warnings.
# Mostrar resultado
resumen_HF_Cultivar_Yema
## # A tibble: 48 × 9
## HF Cultivar `Tipo de Yema` Media_TMB Mediana_TMB Desviacion_Tipica Min_TMB
## <dbl> <chr> <chr> <dbl> <dbl> <dbl> <dbl>
## 1 0 Argenti… Lateral NaN NA NA Inf
## 2 0 Argenti… Terminal NaN NA NA Inf
## 3 0 Yaco Tu… Lateral NaN NA NA Inf
## 4 0 Yaco Tu… Terminal NaN NA NA Inf
## 5 150 Argenti… Lateral NaN NA NA Inf
## 6 150 Argenti… Terminal NaN NA NA Inf
## 7 150 Yaco Tu… Lateral NaN NA NA Inf
## 8 150 Yaco Tu… Terminal NaN NA NA Inf
## 9 300 Argenti… Lateral 79 79 1 78
## 10 300 Argenti… Terminal 77 77 NA 77
## # ℹ 38 more rows
## # ℹ 2 more variables: Max_TMB <dbl>, Rango_TMB <dbl>
# Crear columna combinada para definir colores y formas
NOGAL <- NOGAL %>%
mutate(Grupo = case_when(
Cultivar == "Argentina INTA" & `Tipo de Yema` == "Terminal" ~ "Argentina - Terminal",
Cultivar == "Argentina INTA" & `Tipo de Yema` == "Lateral" ~ "Argentina - Lateral",
Cultivar == "Yaco Tula INTA" & `Tipo de Yema` == "Terminal" ~ "Yaco Tula - Terminal",
Cultivar == "Yaco Tula INTA" & `Tipo de Yema` == "Lateral" ~ "Yaco Tula - Lateral"
))
# Definir colores (relleno) y formas personalizados
colores <- c(
"Argentina - Terminal" = "green",
"Argentina - Lateral" = "red",
"Yaco Tula - Terminal" = "black",
"Yaco Tula - Lateral" = "blue"
)
formas <- c(
"Argentina - Terminal" = 21, # círculo con borde
"Argentina - Lateral" = 24, # triángulo con borde
"Yaco Tula - Terminal" = 21,
"Yaco Tula - Lateral" = 24
)
# Crear gráfico
ggplot(NOGAL, aes(x = HF, y = TMB, fill = Grupo, shape = Grupo)) +
geom_point(size = 3, alpha = 0.85, stroke = 1, color = "black") + # contorno negro
scale_fill_manual(values = colores) +
scale_shape_manual(values = formas) +
scale_x_continuous(
breaks = seq(0, 1650, by = 150),
limits = c(0, 1650)
) +
scale_y_continuous(
limits = c(0, 100),
breaks = seq(0, 100, by = 10)
) +
labs(
title = "Relación entre el tiempo medio de brotación (TMB)\ny las horas de frío (HF)",
x = "Horas frío (HF)",
y = "Tiempo medio de brotación (TMB en días)"
) +
theme_light(base_size = 13) +
theme(
plot.title = element_text(face = "bold", size = 13, hjust = 0.5),
axis.title.x = element_text(face = "bold", size = 10),
axis.title.y = element_text(face = "bold", size = 10),
axis.text.x = element_text(size = 12, color = "black", angle = 45, hjust = 1),
axis.text.y = element_text(size = 12, color = "black"),
axis.line = element_line(color = "black"),
axis.ticks = element_line(color = "black"),
legend.position = "right",
legend.title = element_blank(),
legend.box = "horizontal",
panel.border = element_rect(color = "black", fill = NA, size = 1),
plot.margin = margin(20, 20, 20, 20)
)
## Warning: The `size` argument of `element_rect()` is deprecated as of ggplot2 3.4.0.
## ℹ Please use the `linewidth` argument instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
## Warning: Removed 33 rows containing missing values or values outside the scale range
## (`geom_point()`).
ggsave("grafico_nogales.png", width = 8, height = 6, dpi = 300)
## Warning: Removed 33 rows containing missing values or values outside the scale range
## (`geom_point()`).
####• Comparar la eficiencia de brotación entre ambos cultivares y entre tipos de yema (terminal vs. lateral), lo cual es esencial para entender su comportamiento fenológico. #### • Evaluar cómo responden estas yemas a diferentes niveles de acumulación de frío, un factor crítico en zonas con inviernos cálidos o variables como el Valle de Pomán. #### • Orientar decisiones sobre qué cultivar es más adecuado para cada región, en función de su capacidad para brotar de manera oportuna con las horas de frío disponibles localmente. #### • Proveer información útil para el manejo agronómico, como definir fechas de poda, prever riesgos de brotación tardía, o incluso implementar estrategias para inducir la salida de dormancia si las condiciones invernales no son suficientes. #### En conjunto, estos análisis aportan bases científicas concretas para avanzar en la selección y adaptación de cultivares de nogal a distintos ambientes, mejorando la sostenibilidad y productividad de los sistemas frutícolas en Catamarca.