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."