#Carga de datos
getwd()
## [1] "/cloud/project"
setwd("/cloud/project")
datos <- read.csv("water_pollution_disease.csv",header = TRUE,sep = ",",dec = ".")

#Extraccion variable Cuantitativa Continua
Turbidez <- na.omit (datos$Turbidity..NTU.)

#Tabla de distribución de frecuencia

#Manualmente
min <-min(Turbidez)
max <-max(Turbidez)
R <-max-min
K <- floor(1+3.33*log10(length(Turbidez)))
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(Turbidez, Turbidez >= Li[i] & Turbidez < Ls[i]))
  } else {
    ni[i] <- length(subset(Turbidez, Turbidez >= Li[i] & Turbidez <= 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)))

TDFturbidez <- data.frame(
  Li, Ls, Mc, ni, round(hi, 2), Ni_asc, Ni_desc, round(Hi_asc, 2), round(Hi_desc, 2)
)

colnames(TDFturbidez) <- c("Li","Ls","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="-")

TDFturbidez<-rbind(TDFturbidez,totales)

#Simplificación con el histograma
Hist_Turbidez<-hist(Turbidez,breaks = 8,plot = F)
k<-length(Hist_Turbidez$breaks)
Li<-Hist_Turbidez$breaks[1:(length(Hist_Turbidez$breaks)-1)]
Ls<-Hist_Turbidez$breaks[2:length(Hist_Turbidez$breaks)]
ni<-Hist_Turbidez$counts
sum(ni)
## [1] 3000
Mc<-Hist_Turbidez$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)))
TDFturbidez<-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(TDFturbidez)<-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="-")

TDFturbidez_total<-rbind(TDFturbidez,totales)


library(knitr)
library(kableExtra)
kable(TDFturbidez_total, align = 'c', caption = "Tabla de Frecuencias de Concentración de turbidez en el Agua") %>%
  kable_styling(full_width = FALSE, position = "center", bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Frecuencias de Concentración de turbidez en el Agua
Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
0 0.5 0.25 275 9.17 275 3000 9.17 100
0.5 1 0.75 312 10.4 587 2725 19.57 90.83
1 1.5 1.25 314 10.47 901 2413 30.03 80.43
1.5 2 1.75 334 11.13 1235 2099 41.17 69.97
2 2.5 2.25 296 9.87 1531 1765 51.03 58.83
2.5 3 2.75 314 10.47 1845 1469 61.5 48.97
3 3.5 3.25 312 10.4 2157 1155 71.9 38.5
3.5 4 3.75 266 8.87 2423 843 80.77 28.1
4 4.5 4.25 286 9.53 2709 577 90.3 19.23
4.5 5 4.75 291 9.7 3000 291 100 9.7
TOTAL
3000 100
#Gráficas

#Histograma
hist(Turbidez,breaks = 10,
     main = "Gráfica N°1: Distribución de turbidez en el agua de los 
      países del estudio de contaminación del agua",
     xlab = "Turbidez en el 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_Turbidez$breaks,labels = Hist_Turbidez$breaks,las=1,
     cex.axis=0.9)

#Global
hist(Turbidez, breaks = 10,
     main = "Gráfica N°2: Distribución de turbidez en el agua de los 
      países del estudio de contaminación del agua",
     xlab = "Turbidez en el agua(%)",
     ylab = "Cantidad",
     ylim = c(0, length(Turbidez)),
     col = "pink",
     cex.main = 1.3,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_Turbidez$breaks,
     labels = Hist_Turbidez$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDFturbidez$hi,
        space=0,
        col = "skyblue",
        main ="Gráfica N°3: Distribución porcentual de frecuencias relativas 
         para turbidez en el agua de los paises en el estudio de 
         contaminación del agua ",
        xlab="Turbidez en el agua(%)",
        ylab="Porcentaje (%)",
        names.arg= TDFturbidez$MC,
        ylim = c(0,100))

# Local
hist(Turbidez, breaks = 10,
     main ="Gráfica N°4:Distribución porcentual para turbidez en el agua
      de los países en el estudio de contaminación del agua",
     xlab = "Turbidez en el 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_Turbidez$breaks,
     labels = Hist_Turbidez$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDFturbidez$hi,space=0,
        col = "lightblue",
        main ="Gráfica N°5: Distribución porcentual de turbidez en el agua
        de los países en el estudio de contaminación del agua ",
        xlab="Turbidez en el agua(%)",
        ylab="Porcentaje (%)",
        ylim = c(0,12),
        names.arg = TDFturbidez$MC)

# Diagrama de Ojiva Ascendente y Descendente

plot(Li ,Ni_desc,
     main = "Gráfica N°6: Distribución de frecuencias acumuladas Ascendente y 
    Descendente para Turbidez en el agua de los países en el estudio de
    contaminación de el agua",
     xlab = " Turbidez en el agua(%)",
     ylab = "Cantidad",
     xlim = c(0,10),
     col = "orange",
     cex.axis=0.8,
     type = "o",
     lwd = 3,
     las=1,
     xaxt="n")
lines(Ls,Ni_asc,
      col = "green",
      type = "o",
      lwd = 3)
axis(1, at = seq(0, 10, by = 1))

# Diagrama de Ojiva Ascendente y Descendente Porcentual

plot(Li, Hi_desc * 100,
     main = "Gráfica N°7: Distribución porcentual acumulada Ascendente y
    Descendente para turbidez en el agua de los países en el estudio de
    contaminación de el agua  ",
     xlab = " Turbidez en el agua(%)",
     ylab = "Porcentaje (%)",
     xlim = c(0,10),
     col = "red",
     type = "o",
     lwd = 2,
     xaxt="n")
lines(Ls, Hi_asc * 100,
      col = "blue",
      type = "o",
      lwd = 3)
axis(1, at = seq(0,10,by=1))

# Diagrama de Caja

boxplot(Turbidez,
        horizontal = TRUE,
        main = "Gráfica N°8:Distribución de frecuencia para  turbidez en el agua 
     de los países en el estudio de contaminación de el agua ",
        xlab = " Turbidez en el agua(%)",
        col = "purple",
        outline = TRUE,
        pch = 1)

# INDICADORES ESTADISTICOS

# Indicadores de Tendencia Central

# Media aritmética
media <- round(mean(Turbidez), 2)
media
## [1] 2.48
# Moda
max_ni <- max(TDFturbidez$ni)
moda <- TDFturbidez$MC[TDFturbidez$ni == max_ni]
moda
## [1] 1.75
# Mediana
mediana <- median(Turbidez)
mediana
## [1] 2.46
# INDICADORES DE DISPERSIÓN #

# Varianza
varianza <- var(Turbidez)
varianza
## [1] 2.016354
# Desviación Estándar
sd <- sd(Turbidez)
sd
## [1] 1.419984
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 57.26
# INDICADORES DE FORMA #

# Asimetría
library(e1071)
asimetria <- skewness(Turbidez, type = 2)
asimetria
## [1] 0.04747904
#Curtosis
curtosis <- kurtosis(Turbidez)
curtosis
## [1] -1.158051
tabla_indicadores <- data.frame("Variable" =c("Turbidez en el agua(%)"),
                                "Rango" = c("[1.1;9.99]"),
                                "X" = c(media),
                                "Me" = c(round(mediana,2)),
                                "Mo" = c("No hay 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 hay presencia de 
                                valores atipicos")
library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable
      turbidez en el agua en (NTU)")
Conclusiones de la variable turbidez en el agua en (NTU)
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Turbidez en el agua(%) [1.1;9.99] 2.48 2.46 No hay moda 2.02 1.42 57.26 0.05 -1.16 No hay presencia de
valores atipicos