library(table1)
## 
## Adjuntando el paquete: 'table1'
## The following objects are masked from 'package:base':
## 
##     units, units<-

Punto 1 – Salinidad

Para estudiar la relación entre ciertas características del suelo y la producción de biomasa (gr) de una planta forrajera natural se obtuvieron 45 muestras en diferentes ambientes, y en cada muestra se estimó la biomasa (respuesta Y) y se registraron las características (covariables X) del suelo en el que crecía (pH, Salinidad, Zinc y Potasio).

load("C:/Users/carol/Downloads/Nueva carpeta/Bioinformatica/datos.RData")
datos <- Salinidad


head(datos)

EXPLORACIÓN UNIVARIADA

Tabla de media y mediana

require(table1)
require(ggplot2)
## Cargando paquete requerido: ggplot2
table1(~ Biomasa+Salinidad+pH+Zinc+Potasio, data = datos)
Overall
(N=45)
Biomasa
Mean (SD) 1080 (546)
Median [Min, Max] 992 [370, 2340]
Salinidad
Mean (SD) 30.3 (3.72)
Median [Min, Max] 30.0 [24.0, 38.0]
pH
Mean (SD) 4.61 (1.25)
Median [Min, Max] 4.45 [3.20, 7.45]
Zinc
Mean (SD) 17.8 (8.27)
Median [Min, Max] 19.2 [0.211, 31.3]
Potasio
Mean (SD) 797 (298)
Median [Min, Max] 773 [351, 1440]

Histograma de asimetria de los datos

ggplot(datos, aes(x = Biomasa)) +
  geom_histogram(fill="lightblue", color="black", bins=10) +
  theme_bw()

ggplot(datos, aes(x =pH )) +
  geom_histogram(fill="lightyellow", color="black", bins=10) +
  theme_bw()

 ggtitle("Histograma de Biomasa")
## <ggplot2::labels> List of 1
##  $ title: chr "Histograma de Biomasa"
 ggplot(datos, aes(x =Zinc)) +
  geom_histogram(fill="lightpink", color="black", bins=10) +
  theme_bw()

 ggtitle("Histograma de Biomasa")
## <ggplot2::labels> List of 1
##  $ title: chr "Histograma de Biomasa"
 ggplot(datos, aes(x =Salinidad)) +
  geom_histogram(fill="orange", color="black", bins=10) +
  theme_bw()

 ggtitle("Histograma de Biomasa")
## <ggplot2::labels> List of 1
##  $ title: chr "Histograma de Biomasa"
 ggplot(datos, aes(x =Potasio)) +
  geom_histogram(fill="lightgreen", color="black", bins=10) +
  theme_bw()

 ggtitle("Histograma de Biomasa")
## <ggplot2::labels> List of 1
##  $ title: chr "Histograma de Biomasa"

En conjunto, los histogramas permiten identificar la forma de la distribución de cada variable y evaluar su variabilidad dentro del conjunto de datos. La mayoría de las variables presentan distribuciones unimodales con diferentes grados de dispersión, lo que indica que los valores se concentran en ciertos rangos pero con variabilidad entre observaciones. Este análisis preliminar es útil para comprender el comportamiento individual de cada variable antes de realizar análisis bivariados o modelos estadísticos.

Graficos de densidad

require(table1)

table1(~Biomasa, data=datos)
Overall
(N=45)
Biomasa
Mean (SD) 1080 (546)
Median [Min, Max] 992 [370, 2340]
ggplot(datos,aes(x=Biomasa))+geom_density(col="blue")+theme_bw()

table1(~pH, data=datos)
Overall
(N=45)
pH
Mean (SD) 4.61 (1.25)
Median [Min, Max] 4.45 [3.20, 7.45]
ggplot(datos,aes(x=pH))+geom_density(col="blue")+theme_bw()

table1(~Salinidad, data=datos)
Overall
(N=45)
Salinidad
Mean (SD) 30.3 (3.72)
Median [Min, Max] 30.0 [24.0, 38.0]
ggplot(datos,aes(x=Salinidad))+geom_density(col="blue")+theme_bw()

table1(~Zinc, data=datos)
Overall
(N=45)
Zinc
Mean (SD) 17.8 (8.27)
Median [Min, Max] 19.2 [0.211, 31.3]
ggplot(datos,aes(x=Zinc))+geom_density(col="blue")+theme_bw()

table1(~Potasio, data=datos)
Overall
(N=45)
Potasio
Mean (SD) 797 (298)
Median [Min, Max] 773 [351, 1440]
ggplot(datos,aes(x=Potasio))+geom_density(col="blue")+theme_bw()

En los gráficos de densidad de biomasa, pH, salinidad, zinc y potasio se observa la organización de los datos alrededor de uno o más valores centrales, lo cual permite identificar la forma de la distribución y su asimetría. En varias variables la mayor concentración de observaciones se encuentra en valores bajos o intermedios, mientras que la densidad disminuye progresivamente hacia valores más altos, generando una cola hacia la derecha (asimetría positiva); esto indica que la mayoría de los datos se agrupan en niveles relativamente bajos y existen pocos valores altos que extienden la distribución. En otras variables la distribución es más cercana a una forma unimodal, donde los datos se concentran alrededor de un pico central y decrecen hacia ambos extremos. La cola de la distribución representa la presencia de valores menos frecuentes o extremos, y su dirección permite identificar el sesgo de la variable, lo cual es importante para evaluar la variabilidad de los datos y considerar si podrían requerirse transformaciones o métodos estadísticos que no asuman normalidad.

Gráfico de cajas y bigotes

Un diagrama de caja y bigotes (boxplot) resume la distribución de una variable mostrando su mediana (línea central), los cuartiles Q1 y Q3 (bordes de la caja), el rango intercuartílico (IQR) y los bigotes, que representan la dispersión de los datos fuera de la caja.

library(ggplot2)

ggplot(datos, aes(y = Biomasa)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

ggplot(datos, aes(y = pH)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

ggplot(datos, aes(y = Salinidad)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

ggplot(datos, aes(y = Zinc)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

ggplot(datos, aes(y = Potasio)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

Este tipo de gráfico permite identificar la tendencia central, la variabilidad, posibles asimetrías y valores atípicos. En los gráficos presentados se observa que las variables muestran diferentes niveles de dispersión: algunas cajas son más amplias, lo que indica mayor variabilidad en los datos, mientras que otras son más compactas, sugiriendo mayor concentración de valores alrededor de la mediana. La posición de la mediana dentro de la caja también sugiere posibles asimetrías en la distribución, y la extensión de los bigotes indica el rango de valores sin evidenciar, en general, una presencia marcada de valores extremos.

EXPLORACIÓN BIVARIADA

Descripción cualitativa

Resumen estadístico de las variables analizadas
Variable Minimo Q1 Mediana Media Q3 Maximo
Biomasa Biomasa 369.82 654.82 991.83 1082.17 1346.88 2337.33
pH pH 3.20 3.45 4.45 4.61 5.35 7.45
Salinidad Salinidad 24.00 27.00 30.00 30.27 33.00 38.00
Zinc Zinc 0.21 13.99 19.24 17.83 22.68 31.29
Potasio Potasio 350.73 526.97 773.30 797.38 954.11 1441.67

Con el fin de evaluar la relación entre la biomasa y las covariables ambientales medidas en el estudio (pH, salinidad y concentración de zinc), se realizó un análisis exploratorio bivariado. Este tipo de análisis permite examinar de manera preliminar la fuerza, dirección y forma de la asociación entre una variable respuesta (biomasa) y cada una de las variables explicativas consideradas.

Este análisis permite identificar si existen patrones de tendencia (positivos o negativos) y estimar qué tan fuerte es la relación entre ambas variables mediante una regresión lineal simple y el cálculo del coeficiente de correlación y el coeficiente de determinación (R²).

La comparación posterior con las demás covariables permitirá determinar cuál de ellas presenta mayor relación con la producción de biomasa en la planta forrajera evaluada.

Análisis bivariado entre biomasa y pH

Se realizo un análisis bivariado el cual permite identificar la dirección, intensidad y capacidad explicativa del pH sobre la variación en la producción de biomasa.

library(ggplot2)
# Modelo lineal
modelo_pH <- lm(Biomasa ~ pH, data = datos)



# correlacion 
r_pH <- cor(Salinidad$pH,Salinidad$Biomasa)

# R cuadrado
R2_pH <- summary(modelo_pH)$r.squared
ggplot(Salinidad, aes(x = pH, y = Biomasa)) +
  geom_point(size = 3, alpha = 0.8) +
  geom_smooth(method = "lm", se = TRUE, linewidth = 1) +
  annotate("text",
           x = max(Salinidad$pH) - 0.2,
           y = max(Salinidad$Biomasa) - 0.1 * max(Salinidad$Biomasa),
           label = paste0("r = ", round(r_pH, 3),
                          "\nR² = ", round(R2_pH, 3)),
           hjust = 1,
           size = 4.5,
           fontface = "bold") +
  labs(title = "Relación entre Biomasa y pH",
       subtitle = "Regresión lineal simple",
       x = "pH",
       y = "Biomasa") +
  theme_classic()
## `geom_smooth()` using formula = 'y ~ x'

El análisis exploratorio bivariado evidenció una relación positiva y fuerte entre la biomasa y el pH.

El coeficiente de correlación de Pearson fue r = 0.928, lo que indica una asociación lineal positiva muy fuerte entre ambas variables. El valor p (< 2.2 × 10⁻¹⁶) muestra que esta relación es estadísticamente significativa (α = 0.05), lo que permite rechazar la hipótesis nula de ausencia de correlación.

El intervalo de confianza al 95% (0.872 – 0.960) confirma que la correlación poblacional es alta y positiva, reforzando la solidez de la asociación observada.

El modelo de regresión lineal simple fue igualmente significativo (F = 267.2; p < 2.2 × 10⁻¹⁶) y presentó un coeficiente de determinación R² = 0.8614, lo que indica que aproximadamente el 86.1% de la variabilidad en la biomasa puede ser explicada por el pH.

La ecuación estimada del modelo fue:

Biomasa = -780.18 + 404.08(pH)

La pendiente positiva (β₁ = 404.08) indica que, por cada unidad de incremento en el pH, la biomasa aumenta en promedio aproximadamente 404 unidades.

En conjunto, tanto el análisis gráfico como los indicadores estadísticos sugieren que el pH es un factor con una influencia significativa y sustancial sobre la biomasa en el sistema estudiado.

Análisis bivariado entre biomasa y salinidad

Con el fin de continuar explorando la relación entre la producción de biomasa y las características del suelo, se evaluó la asociación entre la biomasa (variable respuesta) y la salinidad del suelo (covariable).

modelo_sal <- lm(Biomasa ~ Salinidad, data = Salinidad)

r_sal <- cor(Salinidad$Salinidad, Salinidad$Biomasa)

R2_sal <- summary(modelo_sal)$r.squared
ggplot(Salinidad, aes(x = Salinidad, y = Biomasa)) +
  geom_point(size = 3, alpha = 0.8) +
  geom_smooth(method = "lm", se = TRUE, linewidth = 1) +
  annotate("text",
           x = max(Salinidad$Salinidad) - 0.1 * max(Salinidad$Salinidad),
           y = max(Salinidad$Biomasa) - 0.1 * max(Salinidad$Biomasa),
           label = paste0("r = ", round(r_sal, 3),
                          "\nR² = ", round(R2_sal, 3)),
           hjust = 1,
           size = 4.5,
           fontface = "bold") +
  labs(title = "Relación entre Biomasa y Salinidad",
       subtitle = "Regresión lineal simple",
       x = "Salinidad",
       y = "Biomasa (g)") +
  theme_classic()
## `geom_smooth()` using formula = 'y ~ x'

La relación entre la biomasa y la salinidad del suelo fue evaluada mediante una regresión lineal simple. La gráfica muestra una tendencia ligeramente negativa; sin embargo, la pendiente es casi horizontal, lo que sugiere ausencia de una relación lineal clara entre ambas variables.

El coeficiente de correlación de Pearson (r = -0.067) indica una relación negativa extremadamente débil. En términos prácticos, este valor es muy cercano a cero, lo que sugiere que no existe asociación lineal significativa entre la salinidad y la biomasa.

El coeficiente de determinación (R² = 0.004) indica que apenas el 0.4% de la variabilidad observada en la biomasa puede ser explicada por la salinidad del suelo. Esto confirma que la salinidad no tiene capacidad explicativa sobre la producción de biomasa en las condiciones evaluadas.

En consecuencia, la salinidad no parece ser un factor determinante en la variación de la biomasa para esta muestra.

Análisis bivariado entre biomasa y concentracion de Zinc

Con el propósito de continuar evaluando la relación entre la producción de biomasa y las características químicas del suelo, se analizó la asociación entre la biomasa (variable respuesta) y la concentración de Zinc (covariable).

Para ello, se ajustó un modelo de regresión lineal simple y se estimó el coeficiente de correlación de Pearson, con el fin de determinar la dirección y la intensidad de la relación entre ambas variables.

# Modelo de regresión lineal
modelo_zinc <- lm(Biomasa ~ Zinc, data = Salinidad)

# Correlación de Pearson
r_zinc <- cor(Salinidad$Zinc, Salinidad$Biomasa)

# Coeficiente de determinación
R2_zinc <- summary(modelo_zinc)$r.squared

# Gráfica
library(ggplot2)

ggplot(Salinidad, aes(x = Zinc, y = Biomasa)) +
  geom_point(size = 3, alpha = 0.8) +
  geom_smooth(method = "lm", se = TRUE, linewidth = 1) +
  annotate("text",
           x = max(Salinidad$Zinc) - 0.1 * max(Salinidad$Zinc),
           y = max(Salinidad$Biomasa) - 0.1 * max(Salinidad$Biomasa),
           label = paste0("r = ", round(r_zinc, 3),
                          "\nR² = ", round(R2_zinc, 3)),
           hjust = 1,
           size = 4.5,
           fontface = "bold") +
  labs(title = "Relación entre Biomasa y Zinc",
       subtitle = "Regresión lineal simple",
       x = "Zinc",
       y = "Biomasa (g)") +
  theme_classic()

La gráfica evidencia una tendencia negativa entre la concentración de Zinc y la biomasa, lo que indica que a medida que aumenta el Zinc en el suelo, la producción de biomasa tiende a disminuir.

El coeficiente de correlación de Pearson (r = -0.781) muestra una relación negativa fuerte entre ambas variables. Este valor sugiere que existe una asociación lineal considerable y que el incremento en los niveles de Zinc está relacionado con una reducción en la biomasa.

El coeficiente de determinación (R² = 0.611) indica que aproximadamente el 61.1% de la variabilidad observada en la biomasa puede ser explicada por la concentración de Zinc en el suelo. Esto representa una capacidad explicativa alta dentro del análisis bivariado.

En comparación con la salinidad (R² = 0.004) y considerando también el análisis previo del pH, el Zinc muestra una relación sustancialmente más fuerte con la biomasa, sugiriendo que podría ser un factor determinante en el crecimiento de la planta forrajera bajo las condiciones evaluadas.

Análisis bivariado entre biomasa y potasio

Se analizó la covariable Potasio mediante un análisis bivariado. Para ello se construyó un diagrama de dispersión entre el contenido de potasio del suelo y la biomasa registrada en cada una de las muestras. Adicionalmente, se ajustó una regresión lineal simple que permite observar la tendencia general de la relación entre ambas variables.

modelo_K <- lm(Biomasa ~ Potasio, data = datos)
r_K <- cor(datos$Potasio, datos$Biomasa)

R2_K <- summary(modelo_K)$r.squared
ggplot(datos, aes(x = Potasio, y = Biomasa)) +
  geom_point(color = "#2C7FB8", size = 3, alpha = 0.8) +
  geom_smooth(method = "lm",
              color = "#D95F0E",
              fill = "#FEE8C8",
              se = TRUE,
              linewidth = 1) +
  annotate("text",
           x = max(datos$Potasio) - 0.1 * max(datos$Potasio),
           y = max(datos$Biomasa) - 0.1 * max(datos$Biomasa),
           label = paste0("r = ", round(r_K, 3),
                          "\nR² = ", round(R2_K, 3)),
           hjust = 1,
           size = 4.5,
           fontface = "bold") +
  labs(title = "Relación entre Biomasa y Potasio",
       subtitle = "Regresión lineal simple",
       x = "Potasio",
       y = "Biomasa (g)") +
  theme_classic()
## `geom_smooth()` using formula = 'y ~ x'

La relación entre el contenido de potasio y la biomasa muestra una correlación negativa extremadamente débil (r = -0.073). Asimismo, el coeficiente de determinación es muy bajo (R² = 0.005), indicando que el potasio explica únicamente el 0.5 % de la variación observada en la biomasa. Estos resultados sugieren que no existe una relación significativa entre ambas variables, lo cual también se refleja en la dispersión de los datos y en la ausencia de una tendencia clara en la gráfica.

Análisis comparativo de la relación entre biomasa y las covariables del suelo

Con el fin de determinar cuál de las covariables analizadas presenta mayor relación con la producción de biomasa, se construyó una tabla comparativa que resume los principales indicadores estadísticos obtenidos en cada análisis bivariado: el coeficiente de correlación de Pearson (r) y el coeficiente de determinación (R²).

Estos indicadores permiten evaluar tanto la intensidad como la capacidad explicativa de cada variable sobre la biomasa.

# Crear tabla resumen
tabla_resumen <- data.frame(
  Covariable = c("pH", "Salinidad", "Zinc"),
  Correlacion_r = c(round(r_pH, 3),
                    round(r_sal, 3),
                    round(r_zinc, 3)),
  R_cuadrado = c(round(R2_pH, 3),
                 round(R2_sal, 3),
                 round(R2_zinc, 3))
)

tabla_resumen

La tabla comparativa permite evidenciar diferencias claras en la intensidad de la relación entre la biomasa y cada una de las covariables del suelo.

Regresión lineal de la relación entre biomasa y las covariables del suelo

Con el fin de visualizar de manera conjunta la relación entre la biomasa y las diferentes covariables del suelo analizadas (pH, Salinidad y Zinc), se construyó una gráfica comparativa de dispersión con líneas de regresión lineal.

Este tipo de visualización permite identificar de manera simultánea la dirección de la relación, la tendencia central de los datos y la fuerza relativa de la asociación entre cada covariable y la biomasa.

library(ggplot2)
library(tidyr)

# Convertir a formato largo
datos_largos <- datos |>
  pivot_longer(cols = c(pH, Salinidad, Zinc),
               names_to = "Variable",
               values_to = "Valor")

# Gráfica comparativa
ggplot(datos_largos, aes(x = Valor, y = Biomasa)) +
  geom_point(color = "#2C7FB8", size = 2.5, alpha = 0.7) +
  geom_smooth(method = "lm", se = TRUE, color = "#D95F0E", linewidth = 1) +
  facet_wrap(~Variable, scales = "free_x", nrow = 1) +
  labs(
    title = "Relación entre biomasa y covariables del suelo",
    subtitle = "Comparación de regresiones lineales",
    x = "Valor de la covariable",
    y = "Biomasa (g)"
  ) +
  theme_classic() +
  theme(
    plot.title = element_text(size = 16, face = "bold"),
    plot.subtitle = element_text(size = 12),
    strip.text = element_text(size = 12, face = "bold"),
    axis.title = element_text(size = 12),
    axis.text = element_text(size = 10)
  )

En el caso del pH, se observa una tendencia positiva marcada, donde el incremento del pH se asocia con un aumento en la biomasa producida por la planta. La pendiente ascendente de la recta de regresión y la agrupación relativamente alineada de los puntos sugieren una relación fuerte entre estas variables. Este patrón coincide con el valor alto del coeficiente de determinación obtenido previamente, indicando que el pH explica una proporción importante de la variabilidad observada en la biomasa.

Por otro lado, la relación entre salinidad y biomasa muestra una tendencia prácticamente horizontal con una ligera pendiente negativa. La dispersión de los puntos es amplia y no sigue un patrón claro, lo cual concuerda con el bajo valor de correlación y el coeficiente de determinación cercano a cero. Esto indica que la salinidad, dentro del rango observado en las muestras, no parece tener una influencia significativa sobre la producción de biomasa.

En contraste, la relación entre zinc y biomasa evidencia una tendencia negativa marcada. A medida que aumenta la concentración de zinc en el suelo, la biomasa tiende a disminuir, lo que se refleja en la pendiente descendente de la línea de regresión. Además, el coeficiente de correlación negativo relativamente alto y el valor de \(R^2 = 0.611\) sugieren que esta covariable tiene una influencia importante sobre la biomasa, posiblemente asociada a efectos de toxicidad o limitación fisiológica en la planta cuando las concentraciones de zinc aumentan.

En conjunto, el análisis visual comparativo indica que las variables que presentan mayor relación con la biomasa son el pH (relación positiva fuerte) y el zinc (relación negativa moderada a fuerte), mientras que la salinidad no muestra una relación evidente con la producción de biomasa en los datos analizados.

En conclusión, entre las covariables evaluadas, el pH es la variable que presenta mayor relación con la producción de biomasa, seguida por el Zinc, la Salinidad no muestra influencia relevante en este contexto, mientras que, el potasio al representar una correlación negativa débil, no fue incluida en el análisis.

Punto 2: Moluscos

# Cargar archivo
load("C:/Users/carol/Downloads/Nueva carpeta/moluscos.RData")
# Ver qué objetos se cargaron
ls()
##  [1] "BD_moluscos"   "datos"         "datos_largos"  "modelo_K"     
##  [5] "modelo_pH"     "modelo_sal"    "modelo_zinc"   "r_K"          
##  [9] "r_pH"          "r_sal"         "r_zinc"        "R2_K"         
## [13] "R2_pH"         "R2_sal"        "R2_zinc"       "Salinidad"    
## [17] "tabla_resumen"
# Ver las primeras filas
head(BD_moluscos)
# Ver estructura de variables
str(BD_moluscos)
## tibble [48 × 3] (S3: tbl_df/tbl/data.frame)
##  $ c_agua : num [1:48] 100 100 100 100 100 100 100 100 100 100 ...
##  $ molusco: chr [1:48] "A" "A" "A" "A" ...
##  $ cons_o : num [1:48] 7.16 8.26 6.78 14 13.6 11.1 8.93 9.66 6.14 6.14 ...

EXPLORACIÓN UNIVARIADA

Descripción cualitativa

summary(BD_moluscos)
##      c_agua      molusco              cons_o      
##  Min.   : 50   Length:48          Min.   : 1.800  
##  1st Qu.: 50   Class :character   1st Qu.: 6.312  
##  Median : 75   Mode  :character   Median : 9.700  
##  Mean   : 75                      Mean   : 9.305  
##  3rd Qu.:100                      3rd Qu.:11.232  
##  Max.   :100                      Max.   :18.800
sapply(BD_moluscos, class)
##      c_agua     molusco      cons_o 
##   "numeric" "character"   "numeric"

Medidas de dispersión

Se relaizo ub analisis comparativo entre la media y mediana de cada variable para conocer la distribuicion de sus datos al rededor de la media. Para ello se evaluaron 48 observaciones (N = 48).

require(table1)
require(ggplot2)
table1(~c_agua+molusco+cons_o, data = BD_moluscos )
Overall
(N=48)
c_agua
Mean (SD) 75.0 (20.6)
Median [Min, Max] 75.0 [50.0, 100]
molusco
A 24 (50.0%)
B 24 (50.0%)
cons_o
Mean (SD) 9.30 (3.68)
Median [Min, Max] 9.70 [1.80, 18.8]

La variable c_agua, de tipo cuantitativa, presentó una media de 75.0 con una desviación estándar de 20.6. Este valor de desviación estándar indica una dispersión moderada de los datos alrededor de la media, lo que sugiere que los valores no están completamente concentrados sino distribuidos en un rango relativamente amplio. La mediana fue igualmente de 75.0, con valores mínimos y máximos de 50.0 y 100, respectivamente. La coincidencia entre la media y la mediana sugiere una distribución aproximadamente simétrica.

La variable molusco, de tipo cualitativa, mostró una distribución equitativa entre sus categorías, con 24 individuos (50%) en la categoría A y 24 individuos (50%) en la categoría B. Esto indica una muestra balanceada sin predominio de una categoría sobre la otra.

Por su parte, la variable cons_o, también cuantitativa, presentó una media de 9.30 y una desviación estándar de 3.68. La desviación estándar relativamente menor en comparación con la media indica una dispersión moderada, con los valores concentrados alrededor del promedio. La mediana fue de 9.70, con un rango entre 1.80 y 18.8. La ligera diferencia entre la media y la mediana sugiere una posible asimetría leve en la distribución de los datos.

Histograma

El histograma permite visualizar la distribución de una variable cuantitativa, mostrando cómo se agrupan los datos y qué tan dispersos están dentro de un rango determinado. En la variable c_agua, los valores se distribuyen a lo largo del intervalo observado (50–100), lo que indica una variabilidad moderada y una distribución aproximadamente simétrica, coherente con la igualdad entre la media y la mediana.

En la variable cons_o, los datos se concentran principalmente en los valores centrales, con menor frecuencia en los extremos. Sin embargo, se observa una ligera asimetría hacia la izquierda (cola izquierda o asimetría negativa), lo cual significa que existen algunos valores bajos que desplazan el promedio ligeramente hacia abajo. Esto se confirma porque la media (9.30) es menor que la mediana (9.70), característica típica de distribuciones con cola hacia los valores pequeños.

ggplot(BD_moluscos, aes(x = c_agua)) +
  geom_histogram(fill="lightblue", color="black", bins=10) +
  theme_bw()

ggplot(BD_moluscos, aes(x = cons_o)) +
  geom_histogram(fill="lightgreen", color="black", bins=10) +
  theme_bw()

Gráficos de densidad

La gráfica de densidad representa una estimación suavizada de la distribución de los datos. Los valores del eje Y (density) corresponden a densidad de probabilidad, lo que indica la concentración relativa de los datos en cada intervalo. Cuanto más alta es la curva en un punto, mayor es la concentración de observaciones alrededor de ese valor. El área total bajo la curva siempre es igual a 1.

table1(~c_agua, data=BD_moluscos)
Overall
(N=48)
c_agua
Mean (SD) 75.0 (20.6)
Median [Min, Max] 75.0 [50.0, 100]
ggplot(BD_moluscos,aes(x=c_agua))+geom_density(col="blue")+theme_bw()

table1(~cons_o, data=BD_moluscos)
Overall
(N=48)
cons_o
Mean (SD) 9.30 (3.68)
Median [Min, Max] 9.70 [1.80, 18.8]
ggplot(BD_moluscos,aes(x=cons_o))+geom_density(col="blue")+theme_bw()

En la variable cons_o, la curva muestra mayor concentración en los valores intermedios (aproximadamente entre 6 y 12), con una ligera extensión hacia los valores bajos. Esta forma sugiere una leve asimetría negativa (cola hacia la izquierda), lo que indica la presencia de algunos valores pequeños que disminuyen ligeramente la media respecto a la mediana.

En la variable c_agua, la distribución se extiende entre 50 y 100 y presenta una forma relativamente uniforme y simétrica, sin una cola marcada hacia alguno de los extremos. Esto indica que los datos están distribuidos de manera bastante homogénea dentro del rango observado, coherente con la similitud entre media y mediana encontrada previamente.

Cajas y bigotes

El diagrama de caja (boxplot) permite visualizar la distribución de los datos a partir de los cuartiles. El primer cuartil (Q1) representa el 25% de los valores más bajos, la línea central corresponde a la mediana (Q2), que divide la muestra en dos partes iguales, y el tercer cuartil (Q3) indica el 75% de los datos. La caja del gráfico abarca el rango intercuartílico (IQR = Q3 − Q1), que contiene el 50% central de las observaciones.

ggplot(BD_moluscos, aes(y = c_agua)) +
  geom_boxplot(fill = "orange", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

ggplot(BD_moluscos, aes(y = cons_o)) +
  geom_boxplot(fill = "violet", color = "black") +
  theme_bw() +
  ggtitle("Caja de Bigotes~Biomasa")

En la variable c_agua, la mediana se ubica alrededor de 75, mientras que Q1 se aproxima a 50 y Q3 a 100, lo que indica una amplia dispersión del 50% central de los datos. La distribución se observa bastante simétrica, ya que la mediana se encuentra aproximadamente en el centro de la caja y no se evidencian valores atípicos.

En la variable cons_o, la mediana se encuentra cerca de 9–10, con el 50% central de los datos aproximadamente entre 6 y 11. La caja es más compacta que en c_agua, lo que indica menor dispersión relativa. Además, se observa un valor atípico superior, representado por un punto fuera del bigote, lo que sugiere la presencia de un dato inusualmente alto. La ligera diferencia en la longitud de los bigotes puede indicar una leve asimetría.

EXPLORACIÓN BIVARIADA

Parte 1: cons_o ~ molusco y c_agua~ molusco

Caja y bigotes

ggplot(BD_moluscos, aes(x = molusco, y = c_agua)) +
  geom_boxplot() +
  theme_bw()

ggplot(BD_moluscos, aes(x = molusco, y = cons_o)) +
  geom_boxplot() +
  theme_bw()

En el diagrama de cajas de c_agua según el tipo de molusco, se observa que ambos grupos (A y B) presentan medianas prácticamente iguales y una dispersión muy similar. Existe una amplia superposición entre las cajas, lo que indica que no se evidencian diferencias claras en la concentración de agua entre los moluscos.

En cuanto a cons_o, el molusco A muestra una mediana ligeramente mayor que el molusco B y se observa un valor atípico superior en el grupo A. Aunque hay superposición entre las distribuciones, gráficamente se sugiere una leve tendencia a mayor consumo de oxígeno en el molusco A.

El molusco B presenta mayor amplitud en los valores de cons_o dentro del rango intercuartílico ampliado, lo que indica mayor variabilidad. En contraste, el molusco A muestra menor dispersión, aunque presenta un valor atípico superior.

Tabla descriptiva

Los resultados muestran que no existen diferencias entre los moluscos A y B en la variable c_agua. Ambos grupos presentan exactamente la misma media (75.0) y mediana (75.0), con igual rango mínimo y máximo (50–100) y una desviación estándar muy similar (≈20.9).

Esto indica que la concentración de agua es prácticamente igual en ambos tipos de molusco, tanto en tendencia central como en variabilidad.

En la variable cons_o, sí se observan diferencias entre los grupos. El molusco A presenta una media (10.0) y mediana (9.74) mayores que el molusco B (media = 8.61; mediana = 8.06).

Aunque ambos grupos tienen una variabilidad similar (SD = 3.27 en A y 4.00 en B) y rangos amplios que se superponen, los valores centrales sugieren que el molusco A tiende a presentar un mayor consumo de oxígeno que el molusco B.

table1(~ cons_o | molusco, data = BD_moluscos)
A
(N=24)
B
(N=24)
Overall
(N=48)
cons_o
Mean (SD) 10.0 (3.27) 8.61 (4.00) 9.30 (3.68)
Median [Min, Max] 9.74 [5.20, 18.8] 8.06 [1.80, 17.7] 9.70 [1.80, 18.8]
table1(~ c_agua | molusco, data = BD_moluscos)
A
(N=24)
B
(N=24)
Overall
(N=48)
c_agua
Mean (SD) 75.0 (20.9) 75.0 (20.9) 75.0 (20.6)
Median [Min, Max] 75.0 [50.0, 100] 75.0 [50.0, 100] 75.0 [50.0, 100]

Parte 2: cons_o ~ molusco + c_agua

Correlación cons_o ~ c_agua

Se realizó una correlación de Pearson entre las variables consumo de agua (c_agua) y consumo de oxígeno (cons_o) con el objetivo de evaluar si existe una relación lineal entre ambas variables cuantitativas. Este análisis permite determinar si los cambios en el consumo de agua se asocian con cambios en el consumo de oxígeno, y si dicha relación es positiva, negativa o inexistente.

require(ggplot2)
ggplot(BD_moluscos,aes(x=c_agua,y=cons_o))+geom_point()

cor(x=BD_moluscos$c_agua,y=BD_moluscos$cons_o)
## [1] -0.4009984
#r = -0.4009984

El análisis de correlación mostró un coeficiente de r =−0.401, indicando una relación lineal negativa moderada entre el consumo de agua y el consumo de oxígeno. Este resultado sugiere que existe una tendencia a que, cuando aumenta el consumo de agua, el consumo de oxígeno disminuya.

Sin embargo, la correlación solo evalúa la relación entre dos variables cuantitativas sin considerar otros factores que puedan influir en dicha asociación. En este caso, el tipo de molusco podría también estar afectando el consumo de oxígeno.

Por esta razón, se procedió a ajustar un modelo de regresión múltiple de la forma: cons_o~molusco+c_agua

Linea de tendencia

ggplot(BD_moluscos, aes(x=c_agua, y=cons_o)) +
  geom_point() +
  geom_smooth(method="lm") +
  theme_bw()
## `geom_smooth()` using formula = 'y ~ x'

La línea de tendencia muestra una pendiente negativa, lo que indica que a medida que aumenta el consumo de agua (c_agua), la concentración de oxígeno (cons_o) tiende a disminuir. Esta relación es consistente con el coeficiente de correlación obtenido previamente (r = -0.401), el cual indica una asociación negativa moderada.

Sin embargo, se observa una dispersión considerable de los puntos alrededor de la recta, lo que sugiere que, aunque existe una tendencia general decreciente, el consumo de agua no explica completamente la variabilidad en la concentración de oxígeno. Por tanto, la relación es moderada y no fuerte.

Ajuste de modelo cons_o = molusco*c_agua

Se ajustó un modelo de regresión lineal con interacción para evaluar el efecto del tipo de molusco y el consumo de agua sobre la concentración de oxígeno

mod_interaccion <- lm(cons_o ~ molusco * c_agua, data = BD_moluscos)
summary(mod_interaccion)
## 
## Call:
## lm(formula = cons_o ~ molusco * c_agua, data = BD_moluscos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.8092 -2.2067 -0.1795  2.2469  7.6802 
## 
## Coefficients:
##                 Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     13.35854    2.61316   5.112 6.65e-06 ***
## moluscoB         2.63063    3.69556   0.712    0.480    
## c_agua          -0.04477    0.03362  -1.332    0.190    
## moluscoB:c_agua -0.05363    0.04754  -1.128    0.265    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.362 on 44 degrees of freedom
## Multiple R-squared:  0.2198, Adjusted R-squared:  0.1666 
## F-statistic: 4.132 on 3 and 44 DF,  p-value: 0.01151

La ecuación estimada del modelo es:

cons_o = 13.3585+2.6306(moluscoB)−0.0448(c_agua)−0.0536(moluscoB*c_agua)

El intercepto representa la concentración de oxígeno estimada para el molusco A cuando el consumo de agua es cero. El coeficiente de c_agua indica que, para el molusco A, la concentración de oxígeno tiende a disminuir ligeramente a medida que aumenta el consumo de agua. Aunque el modelo global resultó significativo (p = 0.0115), ninguno de los coeficientes individuales, incluida la interacción entre molusco y consumo de agua, presentó significancia estadística (p > 0.05). Esto indica que no hay evidencia suficiente para afirmar que el efecto del consumo de agua sobre la concentración de oxígeno difiere entre los tipos de molusco.

Reajuste de modelo

mod <- lm(cons_o ~ molusco + c_agua, data = BD_moluscos)
summary(mod)
## 
## Call:
## lm(formula = cons_o ~ molusco + c_agua, data = BD_moluscos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6.8092 -2.2945 -0.6798  2.8297  7.3011 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 15.36948    1.91620   8.021 3.22e-10 ***
## moluscoB    -1.39125    0.97343  -1.429  0.15985    
## c_agua      -0.07159    0.02384  -3.002  0.00436 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.372 on 45 degrees of freedom
## Multiple R-squared:  0.1972, Adjusted R-squared:  0.1616 
## F-statistic: 5.528 on 2 and 45 DF,  p-value: 0.007132

El modelo de regresión lineal resultó significativo (F = 5.53; p = 0.007), explicando el 19.7% de la variabilidad en la concentración de oxígeno. El consumo de agua presentó un efecto negativo y significativo (β = -0.0716; p = 0.004), indicando que a mayor consumo, menor concentración de oxígeno. No se encontraron diferencias significativas entre los tipos de molusco (p = 0.159).

Grafica de regresión lineal

La gráfica permite evaluar visualmente la dirección, magnitud y comportamiento del efecto del consumo de agua sobre la concentración de oxígeno, según el modelo de regresión lineal ajustado.

library(ggplot2)
BD_moluscos$molusco <- as.factor(BD_moluscos$molusco)
# Crear datos para predicción
nuevo <- expand.grid(
  c_agua = seq(min(BD_moluscos$c_agua),
               max(BD_moluscos$c_agua),
               length.out = 100),
  molusco = levels(BD_moluscos$molusco)
)

nuevo$pred <- predict(mod, newdata = nuevo)

# Graficar
ggplot(BD_moluscos, aes(x = c_agua, y = cons_o, color = molusco)) +
  geom_point(size = 3) +
  geom_line(data = nuevo, aes(y = pred)) +
  labs(
    x = "Consumo de agua",
    y = "Concentración de oxígeno",
    color = "Molusco"
  ) +
  theme_minimal()

La gráfica muestra una relación negativa entre el consumo de agua y la concentración de oxígeno, evidenciando que a mayor consumo, menor concentración. Las líneas de regresión son paralelas, lo que indica que el efecto del consumo de agua es similar para ambos tipos de molusco. Aunque el molusco A presenta valores ligeramente mayores de oxígeno que el molusco B, esta diferencia no es estadísticamente significativa. En general, el consumo de agua es el factor que explica la variación observada en la concentración de oxígeno.

Validación de modelo

#grafico para mirar si la distribuicion se parece a una campana
mod=lm(cons_o~molusco+c_agua, data=BD_moluscos)
mod
## 
## Call:
## lm(formula = cons_o ~ molusco + c_agua, data = BD_moluscos)
## 
## Coefficients:
## (Intercept)     moluscoB       c_agua  
##    15.36948     -1.39125     -0.07159
mod$residuals
##            1            2            3            4            5            6 
## -1.050729167  0.049270833 -1.430729167  5.789270833  5.389270833  2.889270833 
##            7            8            9           10           11           12 
##  0.719270833  1.449270833 -0.679479167 -0.679479167 -3.139479167  3.180520833 
##           13           14           15           16           17           18 
##  3.580520833  4.780520833 -1.329479167 -1.019479167 -4.800416667  3.199583333 
##           19           20           21           22           23           24 
## -4.800416667 -1.610416667 -2.820416667  0.399583333 -3.630416667 -2.820416667 
##           25           26           27           28           29           30 
## -4.139166667 -3.659166667  1.350833333 -2.119166667 -2.859166667 -3.169166667 
##           31           32           33           34           35           36 
## -6.809166667  1.290833333 -0.680104167 -1.290104167 -2.050104167  2.809895833 
##           37           38           39           40           41           42 
##  7.009895833 -0.680104167 -2.050104167  0.009895833 -0.768854167  4.101145833 
##           43           44           45           46           47           48 
## -4.018854167 -0.198854167  3.001145833  7.301145833  4.101145833  1.901145833
plot(mod)

#si el error es aleatorio no deberia cumplir con el esquema de errores propuesto

#histograma para mirar si los datos tienen forma de campana
plot(mod)

hist(mod$residuals)

plot(density(mod$residuals))

Los gráficos diagnósticos del modelo no evidencian patrones sistemáticos en los residuos, lo que sugiere que se cumplen los supuestos de linealidad y homocedasticidad. El gráfico Q-Q muestra que los residuos siguen aproximadamente la línea teórica, indicando normalidad aceptable. El histograma presenta una forma cercana a una campana, centrada alrededor de cero, con ligera asimetría pero sin desviaciones severas. En conjunto, los supuestos del modelo de regresión lineal se consideran razonablemente cumplidos.