ANÁLISIS ESTADÍSTICO

1. CARGA DE DATOS Y LIBRERÍAS

CARGA DE DATOS

# Ruta completa al archivo
datos <- read.csv("C:/Users/Grace/Downloads/Sedimentos Marinos (1).csv",
                  header = TRUE,
                  sep = ";",
                  dec = ".")
# Limpiamos la Variable
arcilla_raw <- as.numeric(gsub("[^0-9.-]", "", datos$CLAY_PCT))
arcilla <- arcilla_raw[arcilla_raw >= 0]  # Asumimos que los porcentajes de arcilla son no negativos
arcilla <- na.omit(arcilla)
# Calculamos el número de datos
n <- length(arcilla)

Librerias

**CARGA DE LIBRERÍAS**
library(gt)
library(dplyr)
library(knitr)
library(kableExtra)
library(moments)

TABLA DE DISTRIBUCIÓN

**TABLA DE DISTRIBUCIÓN DE FRECUENCIA POR STURGES**
# Número de clases con Sturges
k <- floor(1 + 3.3 * log10(n))
# Min, Max
minimo <- min(arcilla)
maximo <- max(arcilla)
# Rango
R <- maximo - minimo
# Amplitud
A <- R / k
# Límites inferior (Li) y superior (Ls)
Li <- round(seq(from = minimo, to = maximo - A, by = A), 2)
Ls <- round(seq(from = minimo + A, to = maximo, by = A), 2)
# Marca de clase
MC <- round((Li + Ls) / 2, 2)
# Frecuencia Absoluta (ni)
ni <- numeric(length(Li))
for (i in 1:length(Li)) {
  if (i == length(Li)) {
    ni[i] <- sum(arcilla >= Li[i])
  } else {
    ni[i] <- sum(arcilla >= Li[i] & arcilla < Ls[i])
  }
}
# Frecuencia Relativa (hi)
hi <- round((ni / sum(ni)) * 100, 3)
# Frecuencias Acumuladas
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi), 2)
Hidsc <- round(rev(cumsum(rev(hi))), 2)
# TABLA FINAL
TDFarcilla <- data.frame(
  Li, Ls, MC, ni, hi, Niasc, Nidsc, Hiasc, Hidsc
)
TDFarcilla
##       Li    Ls    MC   ni     hi Niasc Nidsc  Hiasc  Hidsc
## 1   0.00  6.76  3.38 7671 57.681  7671 13299  57.68 100.00
## 2   6.76 13.53 10.14 1387 10.429  9058  5628  68.11  42.32
## 3  13.53 20.29 16.91  969  7.286 10027  4241  75.40  31.89
## 4  20.29 27.06 23.67  769  5.782 10796  3272  81.18  24.60
## 5  27.06 33.82 30.44  722  5.429 11518  2503  86.61  18.82
## 6  33.82 40.59 37.20  674  5.068 12192  1781  91.67  13.39
## 7  40.59 47.35 43.97  353  2.654 12545  1107  94.33   8.32
## 8  47.35 54.12 50.74  195  1.466 12740   754  95.80   5.67
## 9  54.12 60.88 57.50  135  1.015 12875   559  96.81   4.20
## 10 60.88 67.65 64.26  133  1.000 13008   424  97.81   3.19
## 11 67.65 74.41 71.03  132  0.993 13140   291  98.80   2.19
## 12 74.41 81.18 77.80  102  0.767 13242   159  99.57   1.20
## 13 81.18 87.94 84.56   46  0.346 13288    57  99.92   0.43
## 14 87.94 94.71 91.32   11  0.083 13299    11 100.00   0.08

Tabla_gt

**TABLA DE DISTRIBUCIÓN DE LONGITUD POR STURGES FINAL**
# Fila total
fila_total <- data.frame(
  Li = "TOTAL",
  Ls = "",
  MC = "",
  ni = sum(TDFarcilla$ni),
  hi = round(sum(TDFarcilla$hi), 2),
  Niasc = "",
  Nidsc = "",
  Hiasc = "",
  Hidsc = ""
)
TDFarcilla_p <- rbind(TDFarcilla, fila_total)
tabla_arcilla_p <- TDFarcilla_p %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nº:1*"),
    subtitle = md("Tabla de distribución de la arcilla de los sedimentos marinos")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 3")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    table.border.top.style = "solid",
    table.border.bottom.style = "solid",
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    row.striping.include_table_body = TRUE,
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black"
  )
tabla_arcilla_p
Tabla Nº:1
Tabla de distribución de la arcilla de los sedimentos marinos
Li Ls MC ni hi Niasc Nidsc Hiasc Hidsc
0 6.76 3.38 7671 57.681 7671 13299 57.68 100
6.76 13.53 10.14 1387 10.429 9058 5628 68.11 42.32
13.53 20.29 16.91 969 7.286 10027 4241 75.4 31.89
20.29 27.06 23.67 769 5.782 10796 3272 81.18 24.6
27.06 33.82 30.44 722 5.429 11518 2503 86.61 18.82
33.82 40.59 37.2 674 5.068 12192 1781 91.67 13.39
40.59 47.35 43.97 353 2.654 12545 1107 94.33 8.32
47.35 54.12 50.74 195 1.466 12740 754 95.8 5.67
54.12 60.88 57.5 135 1.015 12875 559 96.81 4.2
60.88 67.65 64.26 133 1.000 13008 424 97.81 3.19
67.65 74.41 71.03 132 0.993 13140 291 98.8 2.19
74.41 81.18 77.8 102 0.767 13242 159 99.57 1.2
81.18 87.94 84.56 46 0.346 13288 57 99.92 0.43
87.94 94.71 91.32 11 0.083 13299 11 100 0.08
TOTAL 13299 100.000
Autor: Grupo 3

Colores

**Colores de las barras**
colores <- gray.colors(length(ni), start = 0.3, end = 0.9)

GRÁFICAS

**Histograma de cantidad Local**
hist(
  arcilla,
  main = "Gráfica Nº2: Distribución de la arcilla de los sedimentos marinos",
  xlab = "Arcilla (%)",
  ylab = "Cantidad",
  col = colores
)

**Histograma de cantidad global**
hist(
  arcilla,
  main = "Gráfica Nº3: Distribución de la arcilla de los sedimentos marinos",
  xlab = "Arcilla (%)",
  ylab = "Cantidad",
  col = colores,
  ylim = c(0, max(ni) + 50)
)

**Histograma de cantidad en porcentaje**
barplot(
  hi,
  names.arg = MC,
  col = colores,
  ylim = c(0, max(hi) + 5),
  space = 0,
  cex.names = 0.8,
  ylab = "Porcentaje (%)",
  xlab = "Arcilla (%)",
  main = "Gráfica Nº4: Distribución de porcentaje de la arcilla de los sedimentos marinos",
  las = 2
)

**Histograma de cantidad en porcentaje global**
barplot(
  hi,
  names.arg = MC,
  col = colores,
  ylim = c(0, 100),
  cex.names = 0.8,
  space = 0,
  ylab = "Porcentaje (%)",
  xlab = "Arcilla (%)",
  main = "Gráfica Nº5: Distribución de porcentaje de la arcilla de los sedimentos marinos",
  las = 2
)

**DIAGRAMA DE CAJA**
boxplot(
  arcilla,
  horizontal = TRUE,
  main = "Gráfica Nº6: Distribución de la arcilla de los sedimentos marinos",
  xlab = "Arcilla (%)",
  col = "lightblue"
)

**Ojivas combinadas Ni**
lim_sup <- Ls
plot(lim_sup, Nidsc, type="o",
     main="Gráfica Nº7: Ojiva combinada de la arcilla (Ni)",
     ylab="Cantidad Acumulada", col="blue", xlab="Arcilla (%)")
lines(Li, Niasc, col="red", type="o")
legend("topleft", legend = c("Descendente", "Ascendente"), col = c("blue", "red"), lty = 1, pch = 1)

**Ojivas combinadas Hi**
plot(lim_sup, Hidsc, type="o",
     main="Gráfica Nº8: Ojiva combinada de la arcilla (Hi)",
     ylab="Porcentaje Acumulado (%)", col="blue", xlab="Arcilla (%)")
lines(Li, Hiasc, col="red", type="o")
legend("bottomright", legend = c("Descendente", "Ascendente"), col = c("blue", "red"), lty = 1, pch = 1)

INDICADORES Y OUTLERS

**Indicadores Estadísticos**
summary(arcilla)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    0.43    3.96   12.77   19.82   94.71
# POSICIÓN
x <- mean(arcilla)
Me <- median(arcilla)
# DISPERSIÓN
sd_val <- sd(arcilla)
CV <- round((sd_val / abs(x)) * 100, 2)
# FORMA
As <- skewness(arcilla)
K <- kurtosis(arcilla)
# TABLA DE INDICADORES ESTADÍSTICOS
Variable <- c("Arcilla (%)")
TablaIndicadores <- data.frame(Variable, round(minimo,2), round(maximo,2), round(x,2), round(Me,2), round(sd_val,2), CV, round(As,2), round(K,2))
colnames(TablaIndicadores) <- c("Variable","Mínimo","Máximo","Media","Mediana","Desv. Est.","CV (%)","Asimetría","Curtosis")
kable(TablaIndicadores, format = "markdown", caption = "Tabla N°3: Indicadores estadísticos de la variable arcilla en sedimentos marinos")
Tabla N°3: Indicadores estadísticos de la variable arcilla en sedimentos marinos
Variable Mínimo Máximo Media Mediana Desv. Est. CV (%) Asimetría Curtosis
Arcilla (%) 0 94.71 12.77 3.96 17.7 138.55 1.77 5.86

Outliers

**TABLA DE OUTLIERS**
outliers <- boxplot.stats(arcilla)$out
num_outliers <- length(outliers)
min_outlier <- if(num_outliers > 0) min(outliers) else NA
max_outlier <- if(num_outliers > 0) max(outliers) else NA
TablaOutliers <- data.frame(num_outliers, round(min_outlier,2), round(max_outlier,2))
colnames(TablaOutliers) <- c("Cantidad de outliers","Mínimo","Máximo")
kable(TablaOutliers, format = "markdown", caption = "Tabla N°4: Outliers de la variable arcilla en sedimentos marinos")
Tabla N°4: Outliers de la variable arcilla en sedimentos marinos
Cantidad de outliers Mínimo Máximo
687 48.92 94.71

CONCLUSIONES