#Estadistica Descriptiva
#Alexander Sailema
#20/11/2025
library(gt)
library(dplyr)
#Cargar Datos
setwd("~/")
datos<-read.csv("soil_pollution_diseases.csv",header = TRUE,dec = ".",
sep = ",")
#Extracción Variable Cuantitativa Continua
Materia_orgánica_suelo <- datos$Soil_Organic_Matter_.
min <-min(Materia_orgánica_suelo)
max <-max(Materia_orgánica_suelo)
R <-max-min
K <- floor(1+3.33*log10(length(Materia_orgánica_suelo)))
A <-R/K
Li <-round(seq(from=min,to=max-A,by=A),2)
Ls <-round(seq(from=min+A,to=max,by=A),2)
Mc <-(Li+Ls)/2
ni<-c()
for (i in 1:K) {
if (i < K) {
ni[i] <- length(subset(Materia_orgánica_suelo, Materia_orgánica_suelo >= Li[i] & Materia_orgánica_suelo < Ls[i]))
} else {
ni[i] <- length(subset(Materia_orgánica_suelo, Materia_orgánica_suelo >= Li[i] & Materia_orgánica_suelo <= Ls[i]))
}
}
sum(ni)
## [1] 3000
hi <-ni/sum(ni)*100
Ni_asc<-cumsum(ni)
Hi_asc<-cumsum(hi)
Ni_desc<-rev(cumsum(rev(ni)))
Hi_desc<-rev(cumsum(rev(hi)))
TDF_hi <-ni/sum(ni)*100
Ni_asc<-cumsum(ni)
Hi_asc<-cumsum(hi)
Ni_desc<-rev(cumsum(rev(ni)))
Hi_desc<-rev(cumsum(rev(hi)))
TDF_Materia_orgánica_suelo <- data.frame(
Li, Ls, Mc, ni, round(hi, 2), Ni_asc, Ni_desc, round(Hi_asc, 2), round(Hi_desc, 2)
)
colnames(TDF_Materia_orgánica_suelo) <- c("Li","Ls","Mc","ni","hi","Ni_asc","Ni_desc","Hi_asc(%)","Hi_desc(%)")
#Crear fila de totales
totales<-c(
Li="TOTAL",
Ls="-",
Mc="-",
ni=sum(ni),
hi=sum(hi),
Ni_asc="-",
Ni_desc="-",
Hi_asc="-",
Hi_desc="-")
TDF_Materia_orgánica_suelo <-rbind(TDF_Materia_orgánica_suelo,totales)
TDF_Materia_orgánica_suelo %>%
gt() %>%
tab_header(
title = md("*Tabla Nro. 7*"),
subtitle = md("**Tabla de distribución de frecuencias de la Materia orgánica en Suelo**")
) %>%
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 Nro. 7 |
| Tabla de distribución de frecuencias de la Materia orgánica en Suelo |
| Li |
Ls |
Mc |
ni |
hi |
Ni_asc |
Ni_desc |
Hi_asc(%) |
Hi_desc(%) |
| 5 |
87.83 |
46.415 |
414 |
13.8 |
414 |
3000 |
13.8 |
100 |
| 87.83 |
170.67 |
129.25 |
281 |
9.37 |
695 |
2586 |
23.17 |
86.2 |
| 170.67 |
253.5 |
212.085 |
240 |
8 |
935 |
2305 |
31.17 |
76.83 |
| 253.5 |
336.33 |
294.915 |
229 |
7.63 |
1164 |
2065 |
38.8 |
68.83 |
| 336.33 |
419.17 |
377.75 |
227 |
7.57 |
1391 |
1836 |
46.37 |
61.2 |
| 419.17 |
502 |
460.585 |
241 |
8.03 |
1632 |
1609 |
54.4 |
53.63 |
| 502 |
584.83 |
543.415 |
233 |
7.77 |
1865 |
1368 |
62.17 |
45.6 |
| 584.83 |
667.67 |
626.25 |
244 |
8.13 |
2109 |
1135 |
70.3 |
37.83 |
| 667.67 |
750.5 |
709.085 |
219 |
7.3 |
2328 |
891 |
77.6 |
29.7 |
| 750.5 |
833.33 |
791.915 |
218 |
7.27 |
2546 |
672 |
84.87 |
22.4 |
| 833.33 |
916.17 |
874.75 |
232 |
7.73 |
2778 |
454 |
92.6 |
15.13 |
| 916.17 |
999 |
957.585 |
222 |
7.4 |
3000 |
222 |
100 |
7.4 |
| TOTAL |
- |
- |
3000 |
100 |
- |
- |
- |
- |
| Autor: Grupo 3 |
hist(Materia_orgánica_suelo)

#Histograma
#Simplificación con el histograma
Hist_Materia_orgánica_suelo<-hist(Materia_orgánica_suelo,breaks = 8,plot = F)
k<-length(Hist_Materia_orgánica_suelo$breaks)
Li<-Hist_Materia_orgánica_suelo$breaks[1:(length(Hist_Materia_orgánica_suelo$breaks)-1)]
Ls<-Hist_Materia_orgánica_suelo$breaks[2:length(Hist_Materia_orgánica_suelo$breaks)]
ni<-Hist_Materia_orgánica_suelo$counts
sum(ni)
## [1] 3000
Mc<-Hist_Materia_orgánica_suelo$mids
hi<-(ni/sum(ni))
sum(hi)
## [1] 1
Ni_asc<-cumsum(ni)
Hi_asc<-cumsum(hi)
Ni_desc<-rev(cumsum(rev(ni)))
Hi_desc<-rev(cumsum(rev(hi)))
TDF_Materia_orgánica_suelo<-data.frame(Li=round(Li,2),
Ls=round(Ls,2),
Mc=round(Mc,2),
ni=ni,
hi=round(hi*100,2),
Ni_asc=Ni_asc,
Ni_desc=Ni_desc,
Hi_asc=round(Hi_asc*100,2),
Hi_desc=round(Hi_desc*100,2))
colnames(TDF_Materia_orgánica_suelo)<-c("Lim inf","Lim sup","MC","ni","hi(%)","Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
#Crear fila de totales
totales<-c(Li="TOTAL",
Ls="-",
Mc="-",
ni = sum(as.numeric(TDF_Materia_orgánica_suelo$ni)),
hi = sum(as.numeric(TDF_Materia_orgánica_suelo$hi)),
Ni_asc="-",
Ni_desc="-",
Hi_asc="-",
Hi_desc="-")
TDF_Materia_orgánica_suelo<-rbind(TDF_Materia_orgánica_suelo,totales)
TDF_Materia_orgánica_suelo %>%
gt() %>%
tab_header(
title = md("*Tabla Nro. 8*"),
subtitle = md("**Tabla Simplificada de distribución de frecuencias de
la Materia orgánica en suelo**")
) %>%
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 Nro. 8 |
| Tabla Simplificada de distribución de frecuencias de
la Materia orgánica en suelo |
| Lim inf |
Lim sup |
MC |
ni |
hi(%) |
Ni asc |
Ni desc |
Hi asc(%) |
Hi desc(%) |
| 0 |
100 |
50 |
502 |
16.73 |
502 |
3000 |
16.73 |
100 |
| 100 |
200 |
150 |
270 |
9 |
772 |
2498 |
25.73 |
83.27 |
| 200 |
300 |
250 |
291 |
9.7 |
1063 |
2228 |
35.43 |
74.27 |
| 300 |
400 |
350 |
287 |
9.57 |
1350 |
1937 |
45 |
64.57 |
| 400 |
500 |
450 |
278 |
9.27 |
1628 |
1650 |
54.27 |
55 |
| 500 |
600 |
550 |
285 |
9.5 |
1913 |
1372 |
63.77 |
45.73 |
| 600 |
700 |
650 |
279 |
9.3 |
2192 |
1087 |
73.07 |
36.23 |
| 700 |
800 |
750 |
261 |
8.7 |
2453 |
808 |
81.77 |
26.93 |
| 800 |
900 |
850 |
265 |
8.83 |
2718 |
547 |
90.6 |
18.23 |
| 900 |
1000 |
950 |
282 |
9.4 |
3000 |
282 |
100 |
9.4 |
| TOTAL |
- |
- |
3000 |
100 |
- |
- |
- |
- |
| Autor: Grupo 3 |
#Histograma
Hist_Materia_orgánica_suelo<-hist(Materia_orgánica_suelo,breaks = 8,plot = F)
hist(Materia_orgánica_suelo,breaks = 10,
main = "Gráfica N°31: Distribución de la Materia orgánica en suelo",
xlab = "Materia orgánica suelo",
ylab = "Cantidad",
ylim = c(0,500),
col = "red",
cex.main=0.9,
cex.lab=1,
cex.axis=0.9,
xaxt="n")
axis(1,at=Hist_Materia_orgánica_suelo$breaks,labels = Hist_Materia_orgánica_suelo$breaks,las=1,
cex.axis=0.9)

#Gráficas
#Ni Global
hist(Materia_orgánica_suelo, breaks = 10,
main = "Gráfica N°32: Distribución de la Materia orgánica en suelo",
xlab = "Materia orgánica suelo",
ylab = "Cantidad",
ylim = c(0, length(Materia_orgánica_suelo)),
col = "green",
cex.main = 0.9,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_Materia_orgánica_suelo$breaks,
labels = Hist_Materia_orgánica_suelo$breaks, las = 1,
cex.axis = 0.9)

# Filtrar solo las filas numéricas (excluyendo la fila "TOTAL")
TDF_Materia_orgánica_suelo$hi <- as.numeric(TDF_Materia_orgánica_suelo$hi)
datos_grafico <- subset(TDF_Materia_orgánica_suelo, !(MC %in% c("-", "TOTAL")))
#Hi Global
barplot(datos_grafico$hi,
space = 0,
col = "skyblue",
main = "Gráfica N°33: Distribución porcentual de frecuencias de la
Materia orgánica en suelo",
xlab = "Materia orgánica suelo",
ylab = "Porcentaje (%)",
names.arg = datos_grafico$MC,
ylim = c(0, 100))

#Ni Local
hist(Materia_orgánica_suelo, breaks = 10,
main = "Gráfica N°34 Distribución para la Materia orgánica en suelo ",
xlab = "Materia orgánica suelo",
ylab = "Cantidad",
ylim = c(0,max(ni)),
col = "yellow",
cex.main = 0.9,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_Materia_orgánica_suelo$breaks,
labels = Hist_Materia_orgánica_suelo$breaks, las = 1,
cex.axis = 0.9)

#Hi local
barplot(datos_grafico$hi,
space = 0,
col = "blue",
main = "Gráfica N°35: Distribución porcentual de frecuencias de la
Materia orgánica en suelo",
xlab = "Materia orgánica suelo",
ylab = "Porcentaje (%)",
names.arg = datos_grafico$MC,
ylim = c(0, 20))

# Diagrama de Caja
boxplot(Materia_orgánica_suelo,
horizontal = TRUE,
main = "Gráfica N°36 Distribución de Frecuencia para la
Materia orgánica en suelo ",
xlab = " Materia orgánica suelo ",
col = "brown",
outline = TRUE,
pch = 1)

# Diagrama de Ojiva Ascendente y Descendente Ni
plot(Li ,Ni_desc,
main = "Gráfica N°37: Distribución de frecuencias Ascendente y descendente
para la Materia orgánica en suelo",
xlab = " Materia orgánica suelo",
ylab = "Cantidad",
xlim = c(0,1000),
col = "red",
cex.axis=0.8,
type = "o",
lwd = 3,
las=1,
xaxt="n")
lines(Ls,Ni_asc,
col = "orange",
type = "o",
lwd = 3)
axis(1, at = seq(0, 1000, by = 100))

# Diagrama de Ojiva Ascendente y Descendente Porcentual
plot(Li, Hi_desc * 100,
main = "Gráfica N°38: Distribución de frecuencia Ascendente y Descendente
porcentual para la Materia orgánica en suelo ",
xlab = " Materia orgánica suelo ",
ylab = "Porcentaje (%)",
xlim = c(0,1000),
col = "red",
type = "o",
lwd = 2,
xaxt="n")
lines(Ls, Hi_asc * 100,
col = "orange",
type = "o",
lwd = 3)
axis(1, at = seq(0,1000,by=100))
