##1 Contexto del Estudio
#En la finca El Guayabal, ubicada en la vereda El Coral del municipio de La Plata (Huila), se desarrollara un estudio sobre el crecimiento del cafe arábigo en cuatro puntos de una hectarea, considerando variables ambientales como temperatura, humedad del aire y del suelo, pH, precipitacion e intensidad luminica, registradas durante 20 meses con tres tomas diarias para analizar su influencia en el desarrollo del cultivo respecto al crecimiento como variable independiente. #Dado que tenemos datos de distintos puntos de cultivo (P1, P2, P3, P4) cada puntos con datos sobre las variables ambientales,el muestreo estratificado por punto es el más apropiado, asi cada zona estara representada y podemos inferir sobre su influencia en el crecimiento de la planta.
#DATOS
cafe_1 <- read.csv("C:/Users/PC/Documents/ejercicios Karol/CSV/Cafe_Coral.csv", sep = ";", stringsAsFactors = TRUE)
cat("Columnas detectadas:\n")
## Columnas detectadas:
print(names(cafe_1))
## [1] "Punto" "Crecimiento_cm" "Temp_C" "Humedad_Suelo_."
## [5] "pH_Suelo"
cat("\nPrimeras filas:\n")
##
## Primeras filas:
print(head(cafe_1))
## Punto Crecimiento_cm Temp_C Humedad_Suelo_. pH_Suelo
## 1 P1 50,55 18,32 18,8 5,6
## 2 P1 48,62 21,37 21,3 5,6
## 3 P1 49,08 17,97 16,7 5,6
## 4 P2 50,71 16,79 25,2 5,8
## 5 P2 50,11 21,19 22,9 5,8
## 6 P2 49,5 16,79 19,4 5,8
#Variables: # revisar y verificar el nombre de las variables de la base de datos
cafe_1 =as.data.frame(unclass(cafe_1 ),stringsAsFactors = TRUE)
str(cafe_1)
## 'data.frame': 720 obs. of 5 variables:
## $ Punto : Factor w/ 4 levels "P1","P2","P3",..: 1 1 1 2 2 2 3 3 3 4 ...
## $ Crecimiento_cm : Factor w/ 551 levels "48,04","48,49",..: 53 3 6 57 36 13 47 72 26 2 ...
## $ Temp_C : Factor w/ 437 levels "14,8","14,86",..: 214 358 188 102 346 102 222 344 98 84 ...
## $ Humedad_Suelo_.: Factor w/ 229 levels "15,1","15,2",..: 36 61 16 98 77 42 207 212 206 153 ...
## $ pH_Suelo : Factor w/ 4 levels "5,6","5,8","5,9",..: 1 1 1 2 2 2 4 4 4 3 ...
nrow(cafe_1)
## [1] 720
names(cafe_1)
## [1] "Punto" "Crecimiento_cm" "Temp_C" "Humedad_Suelo_."
## [5] "pH_Suelo"
cols_posibles <- names(cafe_1)
cols_coma <- sapply(cafe_1[ , cols_posibles], function(col) {
any(grepl("^[0-9]+/,[0-9]+$", as.character(col)))
})
cols_coma <- names(cols_coma)[cols_coma]
cat("Columnas con formato con coma detectadas (se intentará convertir):/n")
## Columnas con formato con coma detectadas (se intentará convertir):/n
print(cols_coma)
## character(0)
for (col in cols_coma) {
Cafe_1[[col]] <- as.numeric(gsub(",", ".", Cafe_1[[col]]))
}
cols_num_manual <- c() # ejemplo: c("Crecimiento_cm","Temp_C")
for (col in cols_num_manual) {
if (col %in% names(cafe_1)) {
cafe_1[[col]] <- as.numeric(gsub(",", ".", as.character(Cafe_1[[col]])))
}
}
cat("\nEstructura del data.frame luego de conversiones:\n")
##
## Estructura del data.frame luego de conversiones:
str(cafe_1)
## 'data.frame': 720 obs. of 5 variables:
## $ Punto : Factor w/ 4 levels "P1","P2","P3",..: 1 1 1 2 2 2 3 3 3 4 ...
## $ Crecimiento_cm : Factor w/ 551 levels "48,04","48,49",..: 53 3 6 57 36 13 47 72 26 2 ...
## $ Temp_C : Factor w/ 437 levels "14,8","14,86",..: 214 358 188 102 346 102 222 344 98 84 ...
## $ Humedad_Suelo_.: Factor w/ 229 levels "15,1","15,2",..: 36 61 16 98 77 42 207 212 206 153 ...
## $ pH_Suelo : Factor w/ 4 levels "5,6","5,8","5,9",..: 1 1 1 2 2 2 4 4 4 3 ...
nombre_estrato <- "Punto"
unique(cafe_1[[nombre_estrato]])
## [1] P1 P2 P3 P4
## Levels: P1 P2 P3 P4
if (! nombre_estrato %in% names(cafe_1)) {
stop(paste0("No se encontró la columna de estrato '", nombre_estrato, "'. Revisa los nombres de columnas."))
}
cat("Conteo por estrato (Punto):\n")
## Conteo por estrato (Punto):
print(table(cafe_1[[nombre_estrato]], useNA = "ifany"))
##
## P1 P2 P3 P4
## 180 180 180 180
install.packages("sampling", repos="https://cloud.r-project.org")
## Installing package into 'C:/Users/PC/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'sampling' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'sampling'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problema al copiar
## C:\Users\PC\AppData\Local\R\win-library\4.5\00LOCK\sampling\libs\x64\sampling.dll
## a C:\Users\PC\AppData\Local\R\win-library\4.5\sampling\libs\x64\sampling.dll:
## Permission denied
## Warning: restored 'sampling'
##
## The downloaded binary packages are in
## C:\Users\PC\AppData\Local\Temp\RtmpgbCwdh\downloaded_packages
library(sampling)
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
prop_muestra <- 0.30
N_total <- nrow(cafe_1)
n_total <- round(prop_muestra * N_total)
tab_estratos <- cafe_1 %>% count(Punto) %>% rename(Nh = n) %>%
mutate(nh = round((Nh / sum(Nh)) * n_total))
diferencia <- n_total - sum(tab_estratos$nh)
if(diferencia != 0) {
idx_max <- which.max(tab_estratos$Nh)
tab_estratos$nh[idx_max] <- tab_estratos$nh[idx_max] + diferencia
}
print(tab_estratos)
## Punto Nh nh
## 1 P1 180 54
## 2 P2 180 54
## 3 P3 180 54
## 4 P4 180 54
niveles <- sort(unique(cafe_1$Punto))
nh_vector <- tab_estratos %>% arrange(Punto) %>% pull(nh)
cafe_1$stratum_id <- as.numeric(factor(cafe_1$Punto, levels = niveles))
set.seed(1234)
muestra_indices <- sampling::strata(data = cafe_1,
stratanames = c("Punto"),
size = nh_vector,
method = "srswor")
muestra <- cafe_1[muestra_indices$ID_unit, ]
table(muestra$Punto)
##
## P1 P2 P3 P4
## 54 54 54 54
nrow(muestra)
## [1] 216
Poblacion: 720 observaciones muestra: 216 observaciones para distribuirlas en los 4 puntos.
#Tamaño de muestra por estrato (proporcional)
estratos <- cafe_1 %>%
count(Punto) %>%
rename(Nh = n) %>%
mutate(nh_prop = round((Nh / sum(Nh)) * n_total))
diferencia <- n_total - sum(estratos$nh_prop)
if (diferencia != 0) {
idx <- which.max(estratos$Nh)
estratos$nh_prop[idx] <- estratos$nh_prop[idx] + diferencia
}
print(estratos)
## Punto Nh nh_prop
## 1 P1 180 54
## 2 P2 180 54
## 3 P3 180 54
## 4 P4 180 54
#Muestreo estratificado
set.seed(1234)
nombre_estrato <- "Punto"
muestra_estratificada <- data.frame(cafe_1)
niveles <- unique(cafe_1[[nombre_estrato]])
for (nivel in niveles) {
estrato <- subset(cafe_1, cafe_1[[nombre_estrato]] == nivel)
n_estrato <- ceiling(nrow(estrato) * prop_muestra)
muestra_estrato <- estrato[sample(1:nrow(estrato), n_estrato), ]
muestra_estratificada <- rbind(muestra_estratificada, muestra_estrato)
}
head(muestra_estratificada)
## Punto Crecimiento_cm Temp_C Humedad_Suelo_. pH_Suelo stratum_id
## 1 P1 50,55 18,32 18,8 5,6 1
## 2 P1 48,62 21,37 21,3 5,6 1
## 3 P1 49,08 17,97 16,7 5,6 1
## 4 P2 50,71 16,79 25,2 5,8 2
## 5 P2 50,11 21,19 22,9 5,8 2
## 6 P2 49,5 16,79 19,4 5,8 2
prop_muestra <- 0.30 → significa que se seleccionará el 30 % de las observaciones dentro de cada estrato (en este caso, dentro de cada “Punto”).
En este caso, si un punto tiene 180 registros, se seleccionarán alrededor de 180 × 0.3 = 54 observaciones.
El muestreo estratificado aplicado aquí garantiza cobertura completa de la finca o área de estudio, ya que todos los “Puntos” están incluidos.
Punto_1 <- read.csv("C:/Users/PC/Documents/ejercicios Karol/CSV/Punto_1.csv", sep = ";", stringsAsFactors = TRUE)
cat("Columnas detectadas:\n")
## Columnas detectadas:
print(names(Punto_1))
## [1] "PUNTO" "Crecimiento_cm" "Temp_C" "Humedad_Suelo."
## [5] "pH_Suelo_." "stratum_id"
cat("\nPrimeras filas:\n")
##
## Primeras filas:
print(head(Punto_1))
## PUNTO Crecimiento_cm Temp_C Humedad_Suelo. pH_Suelo_. stratum_id
## 1 P1 48,62 21,37 21,3 5,6 1
## 2 P1 50,15 19,21 15,7 5,6 1
## 3 P1 49,9 22,69 20,6 5,6 1
## 4 P1 50,09 22,15 18,3 5,6 1
## 5 P1 51 19,4 18,8 5,6 1
## 6 P1 51,78 21,97 21,4 5,6 1
#Hallamos media de Crecimiento_cm
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
# Calcular la media
media <- mean(Crecimiento_cm)
# Imprimir la media
print(media)
## [1] 54.66981
#Hallamos media de Temperatura_c
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
# Calcular la media
media <- mean(Temperatura_c)
# Imprimir la media
print(media)
## [1] 19.31833
#Estadísticos descriptivos básicos:
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
summary(Crecimiento_cm)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 48.62 52.11 54.80 54.67 56.88 60.19
La diferencia entre media y mediana es muy pequeña:
Media = 54.67 cm
Mediana = 54.80 cm
Diferencia = 0.13 cm (prácticamente nula), Esto indica que la distribución de los datos es casi simétrica, indicando un patrón de crecimiento consistente y con variabilidad moderada, el crecimiento se concentra alrededor de 55 cm.
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
summary(Temperatura_c)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.54 17.93 18.41 19.32 21.35 23.48
Tendencia central
Media = 19.32°C
Mediana = 18.41°C
La media supera ligeramente a la mediana → asimetría positiva suave (cola hacia valores altos), La media es 0.91°C mayor que la mediana, lo cual indica:
Hay valores altos de temperatura (cálidos) que empujan la media hacia arriba. La distribución no es completamente simétrica; tiene una cola hacia la derecha, esto es típico cuando algunas mediciones alcanzan valores más elevados, como 22–23°C
La temperatura típica está entre 18–19°C.
#Estimadores de Crecimiento y Temperatura
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
mean(Crecimiento_cm)
## [1] 54.66981
median(Crecimiento_cm)
## [1] 54.805
var(Crecimiento_cm)
## [1] 9.03293
sd(Crecimiento_cm)
## [1] 3.005483
range(Crecimiento_cm)
## [1] 48.62 60.19
quantile(Crecimiento_cm)
## 0% 25% 50% 75% 100%
## 48.6200 52.1125 54.8050 56.8775 60.1900
mean(Temperatura_c)
## [1] 19.31833
median(Temperatura_c)
## [1] 18.415
var(Temperatura_c)
## [1] 4.178059
sd(Temperatura_c)
## [1] 2.04403
range(Temperatura_c)
## [1] 16.54 23.48
quantile(Temperatura_c)
## 0% 25% 50% 75% 100%
## 16.5400 17.9275 18.4150 21.3500 23.4800
est <- data.frame(
variable = c("Crecimiento_cm","Temperatura_c"),
media = c(mean(Crecimiento_cm), mean(Temperatura_c)),
mediana = c(median(Crecimiento_cm), median(Temperatura_c)),
sd = c(sd(Crecimiento_cm), sd(Temperatura_c)),
var = c(var(Crecimiento_cm), var(Temperatura_c)),
n = c(length(Crecimiento_cm), length(Temperatura_c))
)
print(est)
## variable media mediana sd var n
## 1 Crecimiento_cm 54.66981 54.805 3.005483 9.032930 54
## 2 Temperatura_c 19.31833 18.415 2.044030 4.178059 54
#SESGO (Bootstrap)
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
set.seed(123)
B <- 720
boot_mean_crec <- replicate(B, mean(sample(Crecimiento_cm, replace = TRUE)))
boot_mean_temp <- replicate(B, mean(sample(Temperatura_c, replace = TRUE)))
sesgo_crec <- mean(boot_mean_crec) - mean(Crecimiento_cm)
sesgo_temp <- mean(boot_mean_temp) - mean(Temperatura_c)
sesgo_crec
## [1] -0.002427469
sesgo_temp
## [1] 0.004944187
#EFICIENCIA (comparación de varianzas bootstrap)
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
var_boot_crec <- var(boot_mean_crec)
var_boot_temp <- var(boot_mean_temp)
eficiencia_crec <- 1 / var_boot_crec
eficiencia_temp <- 1 / var_boot_temp
var_boot_crec; eficiencia_crec
## [1] 0.1572039
## [1] 6.361166
var_boot_temp; eficiencia_temp
## [1] 0.07560165
## [1] 13.22723
#SUFICIENCIA (Normalidad de los Datos)
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
shapiro.test(Crecimiento_cm)
##
## Shapiro-Wilk normality test
##
## data: Crecimiento_cm
## W = 0.96915, p-value = 0.1768
shapiro.test(Temperatura_c)
##
## Shapiro-Wilk normality test
##
## data: Temperatura_c
## W = 0.89247, p-value = 0.0001576
#CONSISTENCIA (convergencia por bootstrap progresivo)
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
set.seed(99)
n <- length(Crecimiento_cm)
conv_crec <- sapply(5:n, function(m){
mean(replicate(400, mean(sample(Crecimiento_cm, size = m, replace = TRUE))))
})
conv_temp <- sapply(5:n, function(m){
mean(replicate(400, mean(sample(Temperatura_c, size = m, replace = TRUE))))
})
tail(conv_crec)
## [1] 54.69276 54.66628 54.67716 54.67941 54.65529 54.68876
tail(conv_temp)
## [1] 19.30573 19.31043 19.31348 19.31746 19.30564 19.33212
#“Crecimiento_cm”
Media = 54.67, Mediana = 54.80 → casi iguales.
Distribución casi simétrica, poca influencia de valores extremos.
Sesgo medio y de la mediana: ≈ 0 → estimadores insesgados.
Var(mean) < Var(median) → la media es más eficiente.
Bajo normalidad aproximada → la media es suficiente.
Con el incremento del tamaño muestral, la media converge → consistente.
Conclusión Crecimiento:
La media es el mejor estimador: insesgado, eficiente, consistente y prácticamente suficiente.
#“Temperatura_c”
Media = 19.32, Mediana = 18.41 → media mayor.
Indica asimetría positiva.
Sesgo promedio: muy pequeño → estimadores igualmente insesgados.
Var(mean) > Var(median) → la mediana es más eficiente.
Al no haber normalidad, la media no es suficiente.
Ambos estimadores convergen al aumentar la muestra: consistentes.
Conclusión Temperatura:
La mediana es mejor representativamente: más robusta y eficiente ante asimetría.
##_____________________________________________________________________
##TALLER N.2 INTERVALOS DE CONFIANZA##
##CONTEXTO #En la finca El Guayabal, ubicada en la vereda El Coral del municipio de La Plata (Huila), se desarrollara un estudio sobre el crecimiento del cafe arábigo en cuatro puntos de una hectarea, considerando variables ambientales como temperatura, humedad del aire y del suelo, pH, precipitacion e intensidad luminica, registradas durante 20 meses con tres tomas diarias para analizar su influencia en el desarrollo del cultivo respecto al crecimiento como variable independiente. #Para la aplicacion de este taller vamos a tener en cuenta la base de datos - en este caso muestra_estrato Punto 1 54 observaciones y las Variables: Crecimiento_cm y Temperatura_c.
#Subimos la base de datos.
Punto_1 <- read.csv("C:/Users/PC/Documents/ejercicios Karol/CSV/Punto_1.csv", sep = ";", stringsAsFactors = TRUE)
nivel_confianza <- 0.95
names(Punto_1)
## [1] "PUNTO" "Crecimiento_cm" "Temp_C" "Humedad_Suelo."
## [5] "pH_Suelo_." "stratum_id"
data_muestra <- Punto_1$weight
#Hallar la media, desviacion estandar, tamaño de la muestra (Crecimiento_c y Temperatura_c)
mean(Crecimiento_cm)
## [1] 54.66981
median(Crecimiento_cm)
## [1] 54.805
var(Crecimiento_cm)
## [1] 9.03293
sd(Crecimiento_cm)
## [1] 3.005483
range(Crecimiento_cm)
## [1] 48.62 60.19
quantile(Crecimiento_cm)
## 0% 25% 50% 75% 100%
## 48.6200 52.1125 54.8050 56.8775 60.1900
mean(Temperatura_c)
## [1] 19.31833
median(Temperatura_c)
## [1] 18.415
var(Temperatura_c)
## [1] 4.178059
sd(Temperatura_c)
## [1] 2.04403
range(Temperatura_c)
## [1] 16.54 23.48
quantile(Temperatura_c)
## 0% 25% 50% 75% 100%
## 16.5400 17.9275 18.4150 21.3500 23.4800
Crecimiento_cm El crecimiento promedio es alrededor de 55 cm.
La variabilidad es baja, indicando consistencia entre las Crecimiento/Temperatura.
La distribución es casi perfectamente simétrica.
Los cuartiles muestran que casi todos los valores se agrupan entre 52 y 57 cm.
Conclusión: El crecimiento es uniforme, sin anomalías importantes.
Temperatura_c La temperatura promedio es 19.3 °C, pero la mediana (18.4 °C) indica que más de la mitad de las observaciones están por debajo de la media.
Hay una cola hacia temperaturas más altas, reflejando posibles eventos más cálidos.
La dispersión es moderada, con valores entre 16.5 y 23.5 °C.
Conclusión: La temperatura es relativamente estable, pero presenta episodios cálidos que generan asimetría positiva.
#Hallar el Error Estandar - Valor Critico (Crecimiento_c y Temperatura_c)
# Datos de la muestra
media_crec <- 54.66981
sd_crec <- 3.005483
media_temp <- 19.31833
sd_temp <- 2.04403
n <- 54 # Tamaño de muestra
gl <- n - 1 # Grados de libertad
t_crit <- qt(0.975, df = gl) # Valor crítico t para 95%
# ---- Cálculo para Crecimiento ----
SE_crec <- sd_crec / sqrt(n) # Error estándar
margen_error_crec <- t_crit * SE_crec # Margen de error
IC_crec <- c(media_crec - margen_error_crec, # Intervalo de confianza
media_crec + margen_error_crec)
# ---- Cálculo para Temperatura ----
SE_temp <- sd_temp / sqrt(n)
margen_error_temp <- t_crit * SE_temp
IC_temp <- c(media_temp - margen_error_temp,
media_temp + margen_error_temp)
# Resultados
t_crit
## [1] 2.005746
SE_crec; margen_error_crec; IC_crec
## [1] 0.4089944
## [1] 0.8203389
## [1] 53.84947 55.49015
SE_temp; margen_error_temp; IC_temp
## [1] 0.2781573
## [1] 0.5579128
## [1] 18.76042 19.87624
# Tabla resumen
resultados <- data.frame(
Variable = c("Crecimiento_cm", "Temperatura_c"),
Media = c(media_crec, media_temp),
Error_Estandar = c(SE_crec, SE_temp),
Valor_Critico_t = c(t_crit, t_crit),
Margen_Error = c(margen_error_crec, margen_error_temp),
IC_Lower = c(IC_crec[1], IC_temp[1]),
IC_Upper = c(IC_crec[2], IC_temp[2])
)
resultados
## Variable Media Error_Estandar Valor_Critico_t Margen_Error IC_Lower
## 1 Crecimiento_cm 54.66981 0.4089944 2.005746 0.8203389 53.84947
## 2 Temperatura_c 19.31833 0.2781573 2.005746 0.5579128 18.76042
## IC_Upper
## 1 55.49015
## 2 19.87624
alpha<-0.05
alpha
## [1] 0.05
Crecimiento_cm
SE (Error_Estandar) pequeño (0.409) → la media está estimada con alta precisión.
ME (Margen_Error) = 0.821 → poca variación → crecimiento muy uniforme.
Con un 95% de confiabilidad, la media poblacional del crecimiento se encuentra entre 53,84 y 55.49, La variabilidad es baja y la estimación es muy estable, muestra que la mayoría de las plantas presentan crecimientos homogéneos en el cultivo.
Temperatura_c
SE (Error_Estandar) algo mayor (0.278) → buena precisión, pero más variabilidad que el crecimiento.
ME (Margen_Error) = 0.557 → pequeñas fluctuaciones en temperaturas, estabilidad general.
Con un 95% de confiabilidad, la media poblacional del crecimiento se encuentra entre 18.76 y 19.87
#Diferencia de medias entre Crecimiento_cm y Temperatura_c #Diferencia directa de medias (solo para calcularla, NO para interpretar) #Media Crecimiento_cm = 54.66981 / Media Temperatura_c = 19.31833
dif_media <- mean(Crecimiento_cm) - mean(Temperatura_c)
dif_media
## [1] 35.35148
dif_media = 54.66981 - 19.31833
Las variables Crecimiento_cm (cm) y Temperatura_c (°C) están en unidades completamente distintas.
Por lo tanto:
Se puede calcular la diferencia numérica de medias, pero NO tiene interpretación estadística directa, porque comparar cm con °C no tiene sentido físico.
#Construir intervalo de confianza para la diferencia de medias (solo tiene sentido matemático, no interpretativo)
SE_dif <- sqrt(sd(Crecimiento_cm)^2/54 + sd(Temperatura_c)^2/54)
t_crit <- qt(0.975, df = 54 + 54 - 2)
IC_lower <- dif_media - t_crit * SE_dif
IC_upper <- dif_media + t_crit * SE_dif
c(IC_lower, IC_upper)
## [1] 34.37085 36.33211
#Prueba t para diferencia de medias (matemáticamente válida, pero sin interpretación)
t.test(Crecimiento_cm, Temperatura_c, paired = FALSE)
##
## Welch Two Sample t-test
##
## data: Crecimiento_cm and Temperatura_c
## t = 71.472, df = 93.388, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 34.36932 36.33364
## sample estimates:
## mean of x mean of y
## 54.66981 19.31833
#Correlación
cor(Crecimiento_cm, Temperatura_c)
## [1] -0.2286056
#Regresión lineal
modelo <- lm(Crecimiento_cm ~ Temperatura_c)
summary(modelo)
##
## Call:
## lm(formula = Crecimiento_cm ~ Temperatura_c)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.3602 -2.0765 -0.3853 2.0905 6.3241
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 61.1634 3.8558 15.863 <2e-16 ***
## Temperatura_c -0.3361 0.1985 -1.693 0.0964 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.954 on 52 degrees of freedom
## Multiple R-squared: 0.05226, Adjusted R-squared: 0.03403
## F-statistic: 2.867 on 1 and 52 DF, p-value: 0.09637
Esto sí tiene sentido, porque evalúa si la temperatura influye en el crecimiento
#Correlación entre Crecimiento y Temperatura
# Correlación de Pearson
correlacion <- cor(Crecimiento_cm, Temperatura_c)
correlacion
## [1] -0.2286056
cor.test(Crecimiento_cm, Temperatura_c)
##
## Pearson's product-moment correlation
##
## data: Crecimiento_cm and Temperatura_c
## t = -1.6933, df = 52, p-value = 0.09637
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.46773538 0.04170792
## sample estimates:
## cor
## -0.2286056
#Ajustar modelo de regresión lineal
modelo <- lm(Crecimiento_cm ~ Temperatura_c)
summary(modelo)
##
## Call:
## lm(formula = Crecimiento_cm ~ Temperatura_c)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.3602 -2.0765 -0.3853 2.0905 6.3241
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 61.1634 3.8558 15.863 <2e-16 ***
## Temperatura_c -0.3361 0.1985 -1.693 0.0964 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.954 on 52 degrees of freedom
## Multiple R-squared: 0.05226, Adjusted R-squared: 0.03403
## F-statistic: 2.867 on 1 and 52 DF, p-value: 0.09637
n <- length(Crecimiento_cm)
# 2. CORRELACIÓN Y SU PRUEBA
correlacion <- cor(Crecimiento_cm, Temperatura_c)
cor_test <- cor.test(Crecimiento_cm, Temperatura_c)
# 3. REGRESIÓN LINEAL
modelo <- lm(Crecimiento_cm ~ Temperatura_c)
modelo_resumen <- summary(modelo)
# Extraer coeficientes
beta0 <- coef(modelo)[1]
beta1 <- coef(modelo)[2]
# Extraer p-value de la pendiente
p_beta1 <- modelo_resumen$coefficients[2, 4]
# R^2 del modelo
R2 <- modelo_resumen$r.squared
# 4. TABLA RESUMEN
library(dplyr)
tabla_resumen <- data.frame(
Medida = c("Correlación Pearson",
"p-value correlación",
"Coeficiente β1 (pendiente)",
"Coeficiente β0 (intercepto)",
"p-value de β1",
"R² del modelo"),
Valor = c(round(correlacion, 4),
round(cor_test$p.value, 4),
round(beta1, 4),
round(beta0, 4),
round(p_beta1, 4),
round(R2, 4)))
tabla_resumen
## Medida Valor
## 1 Correlación Pearson -0.2286
## 2 p-value correlación 0.0964
## 3 Coeficiente β1 (pendiente) -0.3361
## 4 Coeficiente β0 (intercepto) 61.1634
## 5 p-value de β1 0.0964
## 6 R² del modelo 0.0523
# 5. GRÁFICO CON REGRESIÓN
library(ggplot2)
ggplot(data = data.frame(Crecimiento_cm, Temperatura_c),
aes(x = Temperatura_c, y = Crecimiento_cm)) +
geom_point(size = 2) +
geom_smooth(method = "lm", se = TRUE) +
labs(title = "Relación entre Temperatura y Crecimiento",
x = "Temperatura (°C)",
y = "Crecimiento (cm)") +
theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'
1. Correlación Pearson = –0.2286
La correlación es negativa y débil. Esto significa que:
A medida que la temperatura aumenta, el crecimiento tiende a disminuir ligeramente.
Sin embargo, la relación es muy tenue (–0.22 está lejos de un valor fuerte como –0.7 o –1.0).
Conclusión: existe una tendencia inversa, pero es débil.
El p‐value es 0.096, el cual es mayor que 0.05.
Por lo tanto, NO hay evidencia estadísticamente significativa para afirmar que la correlación es distinta de cero.
Conclusión: No podemos asegurar estadísticamente que la temperatura esté asociada al crecimiento. La correlación observada podría deberse al azar.
La pendiente indica:
Por cada aumento de 1°C en la temperatura, el crecimiento disminuye en 0.336 cm, en promedio.
Esto coincide con la correlación negativa.
Debido a que:
p-value > 0.05
No es estadísticamente significativo
Conclusión: No hay suficiente evidencia para afirmar que la temperatura influye en el crecimiento. El efecto negativo existe en el modelo, pero no es significativo.
Representa el crecimiento esperado cuando la temperatura es 0°C. No tiene interpretación práctica, porque en tu estudio la temperatura nunca está cerca de 0°C. Se conserva solo como parte del modelo matemático.
Esto significa:
La temperatura explica solo el 5.23% de la variación del crecimiento.
Esto es un porcentaje muy bajo.
Conclusión: La temperatura no es un buen predictor del crecimiento en esta base de datos.
#PROPORCION #Categorías para Crecimiento_cm y Temperatura_c
# Datos
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
# Tamaño de la muestra
n <- length(Crecimiento_cm)
# Proporción Crecimiento > media
p_crec <- mean(Crecimiento_cm > mean(Crecimiento_cm))
SE_crec <- sqrt(p_crec * (1 - p_crec) / n)
z <- qnorm(0.975)
IC_crec <- p_crec + c(-1, 1) * z * SE_crec
# Proporción Temperatura > media
p_temp <- mean(Temperatura_c > mean(Temperatura_c))
SE_temp <- sqrt(p_temp * (1 - p_temp) / n)
IC_temp <- p_temp + c(-1, 1) * z * SE_temp
p_crec; IC_crec
## [1] 0.5185185
## [1] 0.3852514 0.6517857
p_temp; IC_temp
## [1] 0.3518519
## [1] 0.2244815 0.4792222
##Crecimiento_cm El 51.85% de las plantas presenta valores de crecimiento por encima de la media. El intervalo de confianza indica que, en la población, la verdadera proporción estaría entre 38.85% y 64.61%. Como el IC incluye el valor 0.5, no es posible afirmar que más de la mitad crece por encima del promedio con confianza del 95%.
la distribución del crecimiento es casi simétrica alrededor de la media.
##Temperatura_c Solo el 35.19% de las observaciones
están por encima de la media. El IC indica que la proporción real
estaría entre 23.82% y 48.52%. Este IC está
completamente por debajo del 50%, por lo que: la mayoría de las
temperaturas están por debajo de la media.
La distribución es asimétrica a la derecha (sesgo
positivo).
##_____________________________________________________________________
##TALLER N. 3 PRUEBA DE HIPOTESIS##
#PROBLEMA DE INVESTIGACION La temperatura es un factor ambiental clave que influye en procesos fisiológicos de las plantas (fotosíntesis, respiración, crecimiento celular). Conocer su relación con el crecimiento permite ajustar prácticas de manejo (sombra, riego, momento de siembra) para optimizar rendimientos.
¿Cómo afecta la temperatura (°C) la tasa de crecimiento (cm) de la planta/variedad estudiada en las condiciones del experimento?
##HIPOTESIS - CORRELACION
\(H_0\): No existe relación entre Temperatura_c y Crecimiento_cm \((ρ = 0)\). \(H_1\): Existe relación entre Temperatura_c y Crecimiento_cm \((ρ ≠ 0)\).
#estadisticos descriptivos
# Datos
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
# Función para obtener estadísticos
stats <- function(x){
list(
n = length(x),
media = mean(x),
mediana = median(x),
varianza = var(x),
sd = sd(x),
minimo = min(x),
maximo = max(x),
rango = max(x) - min(x),
Q1 = quantile(x, 0.25),
Q3 = quantile(x, 0.75),
IQR = IQR(x)
)
}
# Resultados
stats(Crecimiento_cm)
## $n
## [1] 54
##
## $media
## [1] 54.66981
##
## $mediana
## [1] 54.805
##
## $varianza
## [1] 9.03293
##
## $sd
## [1] 3.005483
##
## $minimo
## [1] 48.62
##
## $maximo
## [1] 60.19
##
## $rango
## [1] 11.57
##
## $Q1
## 25%
## 52.1125
##
## $Q3
## 75%
## 56.8775
##
## $IQR
## [1] 4.765
stats(Temperatura_c)
## $n
## [1] 54
##
## $media
## [1] 19.31833
##
## $mediana
## [1] 18.415
##
## $varianza
## [1] 4.178059
##
## $sd
## [1] 2.04403
##
## $minimo
## [1] 16.54
##
## $maximo
## [1] 23.48
##
## $rango
## [1] 6.94
##
## $Q1
## 25%
## 17.9275
##
## $Q3
## 75%
## 21.35
##
## $IQR
## [1] 3.4225
#Variable: Crecimiento_cm ✔ Tendencia central
Media = 54.67 cm
Mediana = 54.80 cm
La media y la mediana son muy similares, lo que indica que la distribución del crecimiento es bastante simétrica. No se observan valores extremos que afecten la media.
✔ Dispersión
Desviación estándar = 3.01 cm
Varianza = 9.03
Rango = 11.57 cm
IQR = 4.77 cm
Interpretación:
La variabilidad del crecimiento es moderada: los valores se distribuyen aproximadamente ±3 cm alrededor de la media.
Un IQR de 4.77 indica que la mitad de las plantas están entre 52.1 cm y 56.9 cm, un rango relativamente estrecho.
Esto sugiere que el crecimiento es estable y homogéneo entre las observaciones.
✔ Posición y simetría
Mínimo = 48.62 cm
Máximo = 60.19 cm
La diferencia entre mínimo y máximo es mayor que el IQR, lo cual es normal. No hay valores atípicos evidentes a simple vista.
✔ Tendencia central
Media = 19.32 °C
Mediana = 18.42 °C
Aquí, la media es superior a la mediana, lo que indica que la distribución tiene una ligera asimetría positiva (cola hacia valores más altos). Posiblemente existen temperaturas un poco más altas que empujan la media hacia arriba.
✔ Dispersión
Desviación estándar = 2.04 °C
Varianza = 4.18
Rango = 6.94 °C
IQR = 3.42 °C
Interpretación:
La temperatura presenta baja variabilidad, lo que es coherente con registros ambientales controlados o de un mismo microclima.
La mayoría de valores están entre 17.93 °C y 21.35 °C, lo cual es un rango bastante estable.
La desviación estándar de ~2 °C indica oscilaciones normales pero sin cambios fuertes.
✔ Posición y simetría
Mínimo = 16.54 °C
Máximo = 23.48 °C
El máximo es notablemente más alto que el percentil 75, lo que confirma la asimetría positiva (cola hacia temperaturas más altas).
#Diferencia de Medias
# Datos
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
median(Crecimiento_cm)
## [1] 54.805
median(Temperatura_c)
## [1] 18.415
mediana_crec <- median(Crecimiento_cm)
mediana_temp <- median(Temperatura_c)
diferencia_medianas <- mediana_crec - mediana_temp
diferencia_medianas
## [1] 36.39
Mediana(Crecimiento) ≈ 54.8 cm
La mayoría de las plantas crecieron alrededor de 55 cm.
Es un indicador robusto, poco afectado por valores extremos.
Puedes afirmar que el crecimiento típico de la planta está cerca de 55 cm.
Esto describe el nivel central del crecimiento, pero no compara condiciones.
Comparar distribución de Crecimiento vs. Temperatura, NO es una comparación válida de medianas, porque son dos variables diferentes, no grupos diferentes.
Comparar sus medianas no tiene interpretación biológica.
Por ejemplo:
Mediana Crecimiento = 54.8
Mediana Temperatura = 18.1
La diferencia de medianas entre Crecimiento y Temperatura es aproximadamente:36.72
no significa nada en términos de crecimiento, porque:
No representa tratamiento vs. control. No representa grupos distintos. No se puede interpretar como “incremento” o “reducción”.
#Verificar si los datos presentan una distribucion normal.
# Datos
Crecimiento_cm <- c (48.62,50.15,49.9,50.09,51.00,51.78,51.02,52.21,51.81,50.95,50.98,50.2,54.49,52.27,51.33,53.01,51.62,54.87,54.93,56.27,53.37,52.08,54.27,57.09,53.24,56.22,53.01,56.15,55.85,53.27,53.69,56.46,58.52,58.47,58.73,55.81,54.74,54.46,55.76,56.69,56.2,57.06,59.58,58.99,60.19,60.06,56.44,56.41,58.09,53.28,56.94,57.54,57.86,58.15)
Temperatura_c <- c (21.37,19.21,22.69,22.15,19.4,21.97,19.31,23.14,19.15,22.44,17.91,18.78,16.68,18.31,17.88,18.07,22.24,17.98,18.1,17.72,19.21,21.9,18.11,18.08,17.01,16.92,21.78,21.22,18.09,18.49,16.74,16.54,18.39,21.27,18.44,21.29,17.56,17.84,21.72,17.43,18.3,23.48,18.03,21.45,21.71,16.87,18.21,22.45,18.05,18.17,19.18,16.65,21.26,16.85)
# 1. Normalidad: Shapiro-Wilk
shapiro.test(Crecimiento_cm)
##
## Shapiro-Wilk normality test
##
## data: Crecimiento_cm
## W = 0.96915, p-value = 0.1768
shapiro.test(Temperatura_c)
##
## Shapiro-Wilk normality test
##
## data: Temperatura_c
## W = 0.89247, p-value = 0.0001576
# 2. Normalidad: Q-Q plots
# Q-Q plot Crecimiento
qqnorm(Crecimiento_cm, main = "Q-Q Plot - Crecimiento")
qqline(Crecimiento_cm, col="red", lwd=2)
# Q-Q plot Temperatura
qqnorm(Temperatura_c, main = "Q-Q Plot - Temperatura")
qqline(Temperatura_c, col="red", lwd=2)
#Resultados Shapiro–Wilk
| Variable | W | p-valor | Conclusión |
|---|---|---|---|
| Crecimiento_cm | 0.969 | 0.176 | Se asume normalidad |
| Temperatura_c | 0.892 | 0.00015 | No es normal |
#Crecimiento_cm
Shapiro-Wilk: W = 0.96915 p-value = 0.1768 (> 0.05)
Crecimiento_cm cumple normalidad → distribución adecuada para métodos paramétricos. (Crecimiento_cm → p > 0.05 Normal)
Q-Q plot: ✔ Se alinean bastante bien con la línea central. ✔ Pequeñas desviaciones normales en los extremos. ✔ Se comporta como una distribución aproximadamente normal, coincide con el Shapiro-Wilk → p > 0.05.
#Temperatura_c
Shapiro-Wilk → \(p < 0.05\) W = 0.89247 p-value = 0.0001576 (< 0.05) Temperatura_c no es normal,(Temperatura_c → p < 0.05 No normal), por lo cual no pueden aplicarse pruebas que exigen normalidad en ambas variables (como correlación de Pearson).
Q-Q plot: ✘ Los puntos se separan bastante de la línea de referencia. ✘ Se observa curvatura. ✘ Los extremos presentan desviaciones grandes. ✘ La variable NO es normal, Shapiro-Wilk → p < 0.05.
#Conclusión
No se cumple normalidad en ambas variables. La prueba adecuada será Spearman (no paramétrica).
##Prueba adecuada: correlación de Spearman##
cor.test(Crecimiento_cm, Temperatura_c, method="spearman")
## Warning in cor.test.default(Crecimiento_cm, Temperatura_c, method =
## "spearman"): Cannot compute exact p-value with ties
##
## Spearman's rank correlation rho
##
## data: Crecimiento_cm and Temperatura_c
## S = 34015, p-value = 0.02944
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## -0.2965617
rho ≈ –0.2965617 p-valor < 0.001 Usando α = 0.05: p < 0.05 → se rechaza \(H_0\).
rho es negativo, a mayor temperatura, menor crecimiento.
Los datos indican que en el punto 1 de la Parcela El Guayabo, el crecimiento de las plantas de café Arábigo se encuentra influenciado de forma significativa por la temperatura. Aunque el crecimiento presenta homogeneidad, las variaciones térmicas sí muestran un efecto negativo detectable. Temperaturas más altas dentro del rango observado (especialmente sobre los 21–22 °C) podrían estar generando condiciones leves de estrés que reducen el crecimiento vegetativo.
Por lo tanto:
Temperaturas más frescas favorecen el crecimiento de las plantas. Variaciones térmicas amplias afectan negativamente el desarrollo. Este comportamiento coincide con la fisiología conocida del café Arábigo y con las condiciones agroecológicas óptimas para su cultivo. Se evaluó la relación entre la temperatura_c y el crecimiento_cm utilizando el coeficiente de correlación de Spearman debido a la falta de normalidad en la variable temperatura.
Los resultados mostraron una correlación negativa débil pero estadísticamente significativa (rho = –0.2966, p = 0.0294). Esto indica que valores más altos de temperatura se asocian con menores niveles de crecimiento, aunque la fuerza de la relación es moderada.
Existe evidencia estadística de una relación significativa entre la temperatura y el crecimiento.