Ingeniería Ambiental
#Cargar datos
setwd("C:/Users/KEVIN/OneDrive - Universidad Central del Ecuador/Escritorio/kevin/Estadistica/mundial/Rstudio")
datos <- read.csv("water_pollution_disease.csv",header = TRUE,sep = ",",dec = ".")
#Extraccion variable Cuantitativa Discreta
Densidad_poblacion <- datos$Population.Density..people.per.km..
# Agrupar por intervalos
breaks <- seq(0, 1000, by = 100)
labels <- paste(head(breaks, -1), tail(breaks, -1), sep = "-")
intervalos <- cut(Densidad_poblacion, breaks = breaks, include.lowest = TRUE, right = FALSE,labels = labels)
TDF_Densidad <- data.frame(table(intervalos))
min <- min(Densidad_poblacion)
max <- max(Densidad_poblacion)
# Tabla de distribución de frecuencia
ni <- TDF_Densidad$Freq
sum(ni)
## [1] 3000
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_Densidad <- data.frame(TDF_Densidad$intervalos,
ni,
round(hi * 100, 2),
Ni_asc,
Ni_desc,
round(Hi_asc * 100, 2),
round(Hi_desc * 100, 2))
colnames(TDF_Densidad) <- c("Intervalos de densidad","ni","hi(%)",
"Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
# crear de fila de totales
totales <- data.frame( Intervalos=" TOTAL ",
ni= sum(ni),
hi= sum(hi*100),
Ni_asc= "-",
Ni_des= "-",
Hi_asc= "-",
Hi_des= "-")
colnames(totales) <- c("Intervalos de densidad","ni","hi(%)",
"Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")
TDF_Densidad_total <- rbind(TDF_Densidad,totales)
library(knitr)
## Warning: package 'knitr' was built under R version 4.4.2
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.4.2
kable(TDF_Densidad_total, align = 'c',
caption = "Tabla de Distribucion de Frecuencias de la densidad de la población (Personas por km²)") %>%
kable_styling(full_width = FALSE, position = "center",
bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribucion de Frecuencias de la densidad de la población
(Personas por km²)
|
Intervalos de densidad
|
ni
|
hi(%)
|
Ni asc
|
Ni desc
|
Hi asc(%)
|
Hi desc(%)
|
|
0-100
|
267
|
8.90
|
267
|
3000
|
8.9
|
100
|
|
100-200
|
304
|
10.13
|
571
|
2733
|
19.03
|
91.1
|
|
200-300
|
316
|
10.53
|
887
|
2429
|
29.57
|
80.97
|
|
300-400
|
273
|
9.10
|
1160
|
2113
|
38.67
|
70.43
|
|
400-500
|
298
|
9.93
|
1458
|
1840
|
48.6
|
61.33
|
|
500-600
|
325
|
10.83
|
1783
|
1542
|
59.43
|
51.4
|
|
600-700
|
311
|
10.37
|
2094
|
1217
|
69.8
|
40.57
|
|
700-800
|
316
|
10.53
|
2410
|
906
|
80.33
|
30.2
|
|
800-900
|
302
|
10.07
|
2712
|
590
|
90.4
|
19.67
|
|
900-1000
|
288
|
9.60
|
3000
|
288
|
100
|
9.6
|
|
TOTAL
|
3000
|
100.00
|
|
|
|
|
# GRAFICAS
# Diagrama de barrras local
barplot(ni,
main="Gráfica N°1: Distribución por intervalos de personas por km²
del estudio de contaminación del agua",
xlab = "Personas por km²",
ylab = "Cantidad",
col = "skyblue",
ylim = c(0,max(ni)),
names.arg=TDF_Densidad$`Intervalos de densidad`,
las=2,
cex.names=0.63)
mtext("*En los intervalos los limites superiores son abiertos", side = 1, line = 5, adj = 0, cex = 0.7)

barplot(TDF_Densidad$`hi(%)`,
main="Gráfica N°2: Distribución porcentual de personas por km²
del estudio de contaminación del agua",
xlab = "Personas por km²",
ylab = "Porcentaje",
col = "lightgreen",
names.arg=TDF_Densidad$`Intervalos de densidad`,
las=2,
cex.names=0.63)

# Diagrama de barrras global
barplot(ni,
main="Gráfica N°3: Distribución por intervalos de personas por km²
del estudio de contaminación del agua ",
xlab = "Personas por km²",
ylab = "Cantidad",
col = "pink",
ylim = c(0,3000),
names.arg=TDF_Densidad$`Intervalos de densidad`,
las=2,
cex.names=0.63)

barplot(TDF_Densidad$`hi(%)`,
main="Gráfica N°4: Distribución porcentual de personas por km²
del estudio de contaminación del agua",
xlab = "Personas por km²",
ylab = "Porcentaje (%)",
col = "skyblue",
ylim = c(0,100),
names.arg=TDF_Densidad$`Intervalos de densidad`,
las=2,
cex.names=0.63)

# Diagrama de Ojiva Ascendente y Descendente
x_pos <- 1:length(TDF_Densidad$`Intervalos de densidad`)
plot(x_pos ,Ni_desc,
main = "Gráfica N°5: ",
xlab = " Personas por km²",
ylab = "Cantidad",
col = "orange",
type = "p",
lwd = 3,
xaxt="n")
lines(x_pos,Ni_asc,
col = "green",
type = "p",
lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Densidad$`Intervalos de densidad`, las = 2, cex.axis = 0.7)

# Diagrama de Ojiva Ascendente y Descendente Porcentual
x_por <- 1:length(TDF_Densidad$`hi(%)`)
plot(x_pos, Hi_desc * 100,
main = "Gráfica N°6: ",
xlab = " Personas por km²",
ylab = "Porcentaje (%)",
col = "red",
type = "p",
lwd = 2,
xaxt="n")
lines(x_pos, Hi_asc * 100,
col = "blue",
type = "p",
lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Densidad$`Intervalos de densidad`, las = 2, cex.axis = 0.7)

# Diagrama de Caja
boxplot(Densidad_poblacion,
horizontal = TRUE,
main = "Gráfica N°7: ",
xlab = " Personas por km²",
col = "purple",
pch = 1)

# INDICADORES ESTADISTICOS
# Indicadores de Tendencia Central
# Media aritmética
media <- round(mean(Densidad_poblacion), 2)
media
## [1] 505.39
# Moda
max_frecuencia <- max(TDF_Densidad$ni)
moda <- TDF_Densidad$`Intervalos de densidad`[TDF_Densidad$ni == max_frecuencia]
moda
## [1] 500-600
## 10 Levels: 0-100 100-200 200-300 300-400 400-500 500-600 600-700 ... 900-1000
# Mediana
mediana <- median(Densidad_poblacion)
mediana
## [1] 513
# INDICADORES DE DISPERSIÓN #
# Varianza
varianza <- var(Densidad_poblacion)
varianza
## [1] 80244.85
# Desviación Estándar
sd <- sd(Densidad_poblacion)
sd
## [1] 283.2752
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 56.05
# INDICADORES DE FORMA #
# Asimetría
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
asimetria <- skewness(Densidad_poblacion, type = 2)
asimetria
## [1] -0.01191033
#Curtosis
curtosis <- kurtosis(Densidad_poblacion)
curtosis
## [1] -1.187693
tabla_indicadores <- data.frame("Variable" =c("Personas por km²"),
"Rango" = c("[10 ;999]"),
"X" = c(media),
"Me" = c(round(mediana,2)),
"Mo" = c("[500;600]"),
"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 hay presencia de valores atípicos")
library(knitr)
library(kableExtra)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable
densidad de poblacion en personas por km² de los países de estudio")
Conclusiones de la variable densidad de poblacion en personas
por km² de los países de estudio
| Personas por km² |
[10 ;999] |
505.39 |
513 |
[500;600] |
80244.85 |
283.28 |
56.05 |
-0.01 |
-1.19 |
No hay presencia de valores atípicos |