library(readxl)
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.3 ✔ 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(car)
## Loading required package: carData
##
## Attaching package: 'car'
##
## The following object is masked from 'package:dplyr':
##
## recode
##
## The following object is masked from 'package:purrr':
##
## some
library(ggplot2)
#Prueba de normalidad para las variables numéricas profundidad y salinidad
Oceanografia_Dataset <- read_excel("Oceanografia_Dataset.xlsx")
columnas_a_analizar <- c("Profundidad_del_agua_m", "Salinidad_ppm")
library(dplyr)
data <- read_excel("Oceanografia_Dataset.xlsx")
data <-data%>%select(all_of(columnas_a_analizar))
head(data)
## # A tibble: 6 × 2
## Profundidad_del_agua_m Salinidad_ppm
## <dbl> <dbl>
## 1 2744. 37.7
## 2 3576. 35.4
## 3 3014. 39.8
## 4 2724. 30.7
## 5 2118. 37.7
## 6 3229. 32.7
shapiro_test <- shapiro.test(data$Profundidad_del_agua_m)
shapiro_test <- shapiro.test(data$Salinidad_ppm)
list(
estadistico = shapiro_test$statistic,
valor_p = shapiro_test$p.value,
conclusion = if (shapiro_test$p.value > 0.05) {
"No se puede rechazar la hipótesis nula (los datos parecen ser normales)"
}
)
## $estadistico
## W
## 0.9579959
##
## $valor_p
## [1] 2.759431e-15
##
## $conclusion
## NULL
#Prueba de chi cuadrado para independencia entre las variables categóricas Tipo de fondo marino y presencia de corales
# Cargar los datos desde el archivo Excel
data <- read_excel("Oceanografia_Dataset.xlsx")
# Crear la tabla de contingencia
tabla_contingencia <- table(data$Tipo_fondo_marino, data$Presencia_corales)
# Mostrar la tabla de contingencia
print("Tabla de contingencia:")
## [1] "Tabla de contingencia:"
# Tabla de contingencia
tabla_chi <- table(Oceanografia_Dataset$Tipo_fondo_marino, Oceanografia_Dataset$Presencia_corales)
# Prueba de chi-cuadrado para tipo de fondo marino y presencia de corales
chi_test <- chisq.test(tabla_chi)
chi_test
##
## Pearson's Chi-squared test
##
## data: tabla_chi
## X-squared = 3.4607, df = 2, p-value = 0.1772
if (chi_test$p.value > 0.05) {
resultado_chi <- "Se cumple la hipótesis nula: No existe asociación entre las variables y son independientes."
} else {
resultado_chi <- "No se cumple la hipótesis nula: Existe asociación entre las variables y son dependientes."
}
resultado_chi
## [1] "Se cumple la hipótesis nula: No existe asociación entre las variables y son independientes."
# ANOVA para presencia de algas y pH del agua
Oceanografia_Dataset$Presencia_algas <- as.factor(Oceanografia_Dataset$Presencia_algas)
anova_result <- aov(pH_agua ~ Presencia_algas, data = Oceanografia_Dataset)
anova_summary <- summary(anova_result)
# Extraer el valor p del ANOVA
p_value_anova <- anova_summary[[1]][["Pr(>F)"]][1]
if (p_value_anova > 0.05) {
resultado_anova <- "Se cumple la hipótesis nula: No hay diferencias significativas entre las medias."
} else {
resultado_anova <- "No se cumple la hipótesis nula: Hay diferencias significativas entre las medias."
}
resultado_anova
## [1] "Se cumple la hipótesis nula: No hay diferencias significativas entre las medias."
# ANOVA para presencia de algas y pH del agua
Oceanografia_Dataset$Presencia_algas <- as.factor(Oceanografia_Dataset$Presencia_algas)
anova_result <- aov(pH_agua ~ Presencia_algas, data = Oceanografia_Dataset)
anova_summary <- summary(anova_result)
# Extraer el valor p del ANOVA
p_value_anova <- anova_summary[[1]][["Pr(>F)"]][1]
if (p_value_anova > 0.05) {
resultado_anova <- "Se cumple la hipótesis nula: No hay diferencias significativas entre las medias."
} else {
resultado_anova <- "No se cumple la hipótesis nula: Hay diferencias significativas entre las medias."
}
resultado_anova
## [1] "Se cumple la hipótesis nula: No hay diferencias significativas entre las medias."
# Correlacion entre profundidad - salinidad
cor_test <- cor.test(Oceanografia_Dataset$Profundidad_del_agua_m, Oceanografia_Dataset$Salinidad_ppm, method = "pearson")
cor_test
##
## Pearson's product-moment correlation
##
## data: Oceanografia_Dataset$Profundidad_del_agua_m and Oceanografia_Dataset$Salinidad_ppm
## t = -0.15225, df = 888, p-value = 0.879
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.07079950 0.06062571
## sample estimates:
## cor
## -0.005108955
```r
if (cor_test$p.value > 0.05) {
resultado_correlacion <- "Se cumple la hipótesis nula: No existe relación entre las dos variables."
} else {
resultado_correlacion <- "No se cumple la hipótesis nula: Existe relación entre las dos variables."
}
resultado_correlacion
## [1] "Se cumple la hipótesis nula: No existe relación entre las dos variables."