2. Tabla de distribución de Frecuencia
#Tabla de distribución de frecuencia
#Manualmente
min <-min(Indice_Calidad_Agua)
max <-max(Indice_Calidad_Agua)
R <-max-min
K <- floor(1+3.33*log10(length(Indice_Calidad_Agua)))
A <-R/K
Li <-round(seq(from=min,to=max-A,by=A),2)
Li[1] <- min(Indice_Calidad_Agua)
Ls <-round(seq(from=min+A,to=max,by=A),2)
Mc <-(Li+Ls)/2
tol <- 1e-9
ni <- numeric(K)
for (i in 1:K) {
if (i < K) {
ni[i] <- sum(Indice_Calidad_Agua >= Li[i] & Indice_Calidad_Agua < Ls[i])
} else {
ni[i] <- sum(Indice_Calidad_Agua >= Li[i] & Indice_Calidad_Agua <= 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)))
TDFIndice_Calidad_Agua <- data.frame(
Li, Ls, Mc, ni, round(hi, 2), Ni_asc, Ni_desc,
round(Hi_asc, 2), round(Hi_desc, 2)
)
colnames(TDFIndice_Calidad_Agua) <- c(
"Lim inf",
"Lim sup",
"MC",
"ni",
"hi (%)",
"Ni asc",
"Ni desc",
"Hi asc (%)",
"Hi desc (%)"
)
#Crear fila de totales
totales<-c(
Li="-",
Ls="-",
Mc="-",
ni=sum(ni),
hi=sum(hi),
Ni_asc="-",
Ni_desc="-",
Hi_asc="-",
Hi_desc="-")
TDFIndice_Calidad_Agua <-rbind(TDFIndice_Calidad_Agua,totales)
#Simplificación con el histograma
Hist_Indice_Calidad_Agua<-hist(Indice_Calidad_Agua,breaks = 8,plot = F)
k<-length(Hist_Indice_Calidad_Agua$breaks)
Li<-Hist_Indice_Calidad_Agua$breaks[1:(length(Hist_Indice_Calidad_Agua$breaks)-1
)]
Ls<-Hist_Indice_Calidad_Agua$breaks[2:length(Hist_Indice_Calidad_Agua$breaks)]
ni<-Hist_Indice_Calidad_Agua$counts
sum(ni)
## [1] 3000
Mc<-Hist_Indice_Calidad_Agua$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)))
TDFIndice_Calidad_Agua<-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(TDFIndice_Calidad_Agua) <- 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(ni),
hi=sum(hi*100),
Ni_asc="-",
Ni_desc="-",
Hi_asc="-",
Hi_desc="-")
TDFIndice_Calidad_Agua_total<-rbind(TDFIndice_Calidad_Agua,totales)
library(knitr)
library(kableExtra)
kable(TDFIndice_Calidad_Agua_total, align = 'c', caption = "Tabla de
Frecuencias del Índice de Calidad del Agua de estudio de
contaminación del agua en China en el año 2023 ") %>%
kable_styling(full_width = FALSE, position = "center",
bootstrap_options = c("striped", "hover",
"condensed"))
Tabla de Frecuencias del Índice de Calidad del Agua de estudio de
contaminación del agua en China en el año 2023
|
Lim inf
|
Lim sup
|
MC
|
ni
|
hi (%)
|
Ni asc
|
Ni desc
|
Hi asc (%)
|
Hi desc (%)
|
|
0
|
10
|
5
|
309
|
10.3
|
309
|
3000
|
10.3
|
100
|
|
10
|
20
|
15
|
301
|
10.03
|
610
|
2691
|
20.33
|
89.7
|
|
20
|
30
|
25
|
291
|
9.7
|
901
|
2390
|
30.03
|
79.67
|
|
30
|
40
|
35
|
280
|
9.33
|
1181
|
2099
|
39.37
|
69.97
|
|
40
|
50
|
45
|
301
|
10.03
|
1482
|
1819
|
49.4
|
60.63
|
|
50
|
60
|
55
|
306
|
10.2
|
1788
|
1518
|
59.6
|
50.6
|
|
60
|
70
|
65
|
309
|
10.3
|
2097
|
1212
|
69.9
|
40.4
|
|
70
|
80
|
75
|
287
|
9.57
|
2384
|
903
|
79.47
|
30.1
|
|
80
|
90
|
85
|
292
|
9.73
|
2676
|
616
|
89.2
|
20.53
|
|
90
|
100
|
95
|
324
|
10.8
|
3000
|
324
|
100
|
10.8
|
|
TOTAL
|
|
|
3000
|
100
|
|
|
|
|
3. Gráficas
3.1 Histograma
# GRAFICAS
#Histograma
hist(Indice_Calidad_Agua,breaks = 10,
main =
"Gráfica N°1: Distribución del Índice de Calidad del Agua
del estudio
de contaminación del agua en China en el año 2023",
xlab = " Índice de Calidad del Agua ",
ylab = "Cantidad",
ylim = c(0,max(ni)),
col = "pink",
cex.main=1.3,
cex.lab=1,
cex.axis=0.9,
xaxt="n")
axis(1,at=Hist_Indice_Calidad_Agua$breaks,labels =
Hist_Indice_Calidad_Agua$breaks,las=1,
cex.axis=0.9)

3.2 Histograma Global
#Global
hist(Indice_Calidad_Agua, breaks = 10,
main =
"Gráfica N°2: Distribución del Índice de Calidad
del Agua del estudio
de contaminación del agua en China en el año 2023",
xlab = " Índice de Calidad del Agua ",
ylab = "Cantidad",
ylim = c(0, length(Indice_Calidad_Agua)),
col = "pink",
cex.main = 1.3,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_Indice_Calidad_Agua$breaks,
labels = Hist_Indice_Calidad_Agua$breaks, las = 1,
cex.axis = 0.9)

3.3 Histograma Porcentual
barplot(
height = round(TDFIndice_Calidad_Agua$hi,0),
space=0,
col = "skyblue",
main =
"Gráfica N°3: Distribución porcentual del Índice de Calidad
del Agua de estudio de contaminación del agua
en China en el año 2023 ",
xlab="Índice de Calidad del Agua ",
ylab="Porcentaje (%)",
names.arg =round(TDFIndice_Calidad_Agua$MC,1),
ylim = c(0,100))

3.4 Histograma Local
# Local
hist(Indice_Calidad_Agua, breaks = 10,
main =
"Gráfica N°4:Distribución porcentual para el Índice de Calidad
del Agua de estudio de contaminación del agua en China
en el año 2023",
xlab = "Índice de Calidad del Agua ",
ylab = "Cantidad",
ylim = c(0,max(ni)),
col = "purple",
cex.main = 1.3,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_Indice_Calidad_Agua$breaks,
labels = Hist_Indice_Calidad_Agua$breaks, las = 1,
cex.axis = 0.9)

3.5 Histograma Porcentual Local
barplot(TDFIndice_Calidad_Agua$hi,space=0,
col = "lightblue",
main ="Gráfica N°5: Distribución porcentual
para del Índice de Calidad
del Agua Total de
estudio de contaminación del agua en China en el año 2023",
xlab="Índice de Calidad del Agua ",
ylab="Porcentaje (%)",
ylim = c(0,20),
names.arg = TDFIndice_Calidad_Agua$MC)

4. Diagrama de Caja
boxplot(Indice_Calidad_Agua,
horizontal = TRUE,
main = "Gráfica N°6:Distribución de frecuencia para del Índice
de Calidad del Agua de estudio de contaminación del agua en
China en el año 2023 ",
xlab = " Índice de Calidad del Agua ",
col = "purple",
outline = TRUE,
pch = 1)

## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.230 1.630 1.980 1.983 2.320 3.840
bp <- boxplot(Indice_Calidad_Agua,
horizontal = TRUE,
plot = FALSE)
valores_atipicos <- bp$out
min_atipico <- min(valores_atipicos)
## Warning in min(valores_atipicos): no non-missing arguments to min; returning
## Inf
max_atipico <- max(valores_atipicos)
## Warning in max(valores_atipicos): no non-missing arguments to max; returning
## -Inf
min_atipico
## [1] Inf
max_atipico
## [1] -Inf
5. Ojivas
5.1 Ojivas Ascendentes y Descendentes (ni)
# Diagrama de Ojiva Ascendente y Descendente
plot(Li, Ni_asc,
main =
"Gráfica N°7: Distribución de frecuencias acumuladas Ascendente y
Descendente para el Índice de Calidad del Agua de estudio de
contaminación del agua en China en el año 2023",
xlab = "Índice de Calidad del Agua ",
ylab = "Cantidad",
xlim = c(min(Li), max(Ls)),
col = "orange",
cex.axis = 0.8,
type = "o",
lwd = 3,
las = 1,
xaxt = "n")
lines(Ls, Ni_desc,
col = "green",
type = "o",
lwd = 3)
axis(1, at = Li, las = 1)

5.2 Ojivas Ascendentes y Descendentes (hi)
# Diagrama de Ojiva Ascendente y Descendente Porcentual
plot(Li, Hi_desc *100,
main =
"Gráfica N°8: Distribución porcentual acumulada Ascendente y Descendente
para el Índice de Calidad del Agua de estudio de contaminación
del agua en China en el año 2023",
xlab = "Índice de Calidad del Agua ",
ylab = "Cantidad",
xlim = c(min(Li), max(Ls)),
col = "red",
cex.axis = 0.8,
type = "o",
lwd = 3,
las = 1,
xaxt = "n")
lines(Ls, Hi_asc *100,
col = "blue",
type = "o",
lwd = 3)
axis(1, at = Li, las = 1)

6. Indicadores
# Media aritmética
media <- round(mean(Indice_Calidad_Agua), 2)
media
## [1] 50.26
# Moda
max_ni <- max(TDFIndice_Calidad_Agua$ni)
moda <- TDFIndice_Calidad_Agua$MC[TDFIndice_Calidad_Agua$ni == max_ni]
moda
## [1] 95
# Mediana
mediana <- median(Indice_Calidad_Agua)
mediana
## [1] 50.6
# Varianza
varianza <- var(Indice_Calidad_Agua)
varianza
## [1] 847.1381
# Desviación Estándar
sd <- sd(Indice_Calidad_Agua)
sd
## [1] 29.10564
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 57.91
# Asimetría
library(e1071)
asimetria <- skewness(Indice_Calidad_Agua, type = 2)
asimetria
## [1] -0.01243507
#Curtosis
curtosis <- kurtosis(Indice_Calidad_Agua)
curtosis
## [1] -1.202119
7. Tabla de indicadores
tabla_indicadores <- data.frame("Variable" =c("Índice de Calidad del Agua "),
"Rango" =
c("[0;99.95]"),
"X" = c(media),
"Me" =
c(round(mediana,2)),
"Mo" = c(moda),
"V" =
c(round(varianza,2)),
"Sd" = c(round(sd,2)),
"Cv" = c(cv),
"As" =
c(round(asimetria,2)),
"K" =
c(round(curtosis,2)),
"Valores Atipicos" =
"No existen")
library(knitr)
kable(tabla_indicadores, align = 'c', caption =
"Conclusiones de la variable
Indice de Calidad del Agua")
Conclusiones de la variable Indice de Calidad del
Agua
| Índice de Calidad del Agua |
[0;99.95] |
50.26 |
50.6 |
95 |
847.14 |
29.11 |
57.91 |
-0.01 |
-1.2 |
No existen |
8. Conclusiones
La variable Índice de calidad del agua fluctua entre [0;99.95], y sus
valores giran entorno a 50.6 con una desviación estadandar de 29.11,
siendo un conjunto de valores heterogeneo. Los valores se acumulan de
manera parcialmente debil en la parte alta de la variable. Con lo
anterior el comportamiento de la variable es medianamente malo pues se
inclina hacia una escala un valores altos de contaminación.