Datos_finalesmissing<- read.csv("D:\\ZEGUEL IPAE\\CICLO 4\\ESTADÍSTICA APLICADA A LA COMPUTACIÓN [GESTIÓN DE SISTEMAS DE INFOR\\test.csv"
,
sep = ";" , stringsAsFactors = TRUE , encoding = "latin1")
head(Datos_finalesmissing)
# Verificar si faltan datos en el conjunto de datos
which(colSums(is.na(Datos_finalesmissing))!=0)
## Year Decibel_Level
## 3 4
Se muestran estos datos faltantes en la base de datos:
Year : 3
Decibel_Level : 4
library(VIM)
## Loading required package: colorspace
## Loading required package: grid
## VIM is ready to use.
## Suggestions and bug-reports can be submitted at: https://github.com/statistikat/VIM/issues
##
## Attaching package: 'VIM'
## The following object is masked from 'package:datasets':
##
## sleep
library(mice)
##
## Attaching package: 'mice'
## The following object is masked from 'package:stats':
##
## filter
## The following objects are masked from 'package:base':
##
## cbind, rbind
resumendelmissing <- aggr(Datos_finalesmissing, numbers=T)
summary(resumendelmissing)
##
## Missings per variable:
## Variable Count
## City 0
## Month 0
## Year 3
## Decibel_Level 1
## Traffic_Density 0
## Green_Space_Area 0
## Air_Quality_Index 0
## Happiness_Score 0
## Cost_of_Living_Index 0
## Healthcare_Index 0
##
## Missings in combinations of variables:
## Combinations Count Percent
## 0:0:0:0:0:0:0:0:0:0 47 92.156863
## 0:0:0:1:0:0:0:0:0:0 1 1.960784
## 0:0:1:0:0:0:0:0:0:0 3 5.882353
El resultado proporciona información sobre la cantidad y la distribución de datos faltantes en el conjunto de
datos. Incluye el número de datos faltantes por variable, un gráfico de barras para visualizar la proporción de
datos faltantes, y un patrón de datos faltantes para identificar cualquier tendencia. Además, ofrece un resumen general de la cantidad total de datos faltantes en el conjunto de datos.
library(VIM)
matrixplot(Datos_finalesmissing)
El resultado muestra una matriz de gráficos que muestra la relación entre las variables y la presencia de valores faltantes en el conjunto de datos.
library(mice)
md.pattern(Datos_finalesmissing, rotate.names = TRUE)
## City Month Traffic_Density Green_Space_Area Air_Quality_Index
## 47 1 1 1 1 1
## 3 1 1 1 1 1
## 1 1 1 1 1 1
## 0 0 0 0 0
## Happiness_Score Cost_of_Living_Index Healthcare_Index Decibel_Level Year
## 47 1 1 1 1 1 0
## 3 1 1 1 1 0 1
## 1 1 1 1 0 1 1
## 0 0 0 1 3 4
Se muestra la distribución de valores faltantes en el conjunto de datos y cuántas combinaciones únicas de valores faltantes existen.
library(visdat)
vis_dat(Datos_finalesmissing)
Se muestra visualizaciones interactivas de los datos faltantes en forma de gráficos de barras y gráficos de dispersión.
vis_miss(Datos_finalesmissing)
Se muestra un gráfico de barras que representa la proporción de valores ausentes en cada columna del conjunto de datos.
Datos_finalesmissing_corregido<-na.omit(Datos_finalesmissing)
str(Datos_finalesmissing_corregido)
## 'data.frame': 47 obs. of 10 variables:
## $ City : Factor w/ 51 levels "Adelaide","Auckland",..: 2 3 6 9 13 14 17 19 20 24 ...
## $ Month : Factor w/ 10 levels "","April","August",..: 5 5 5 5 5 4 4 4 4 8 ...
## $ Year : int 2030 2030 2030 2030 2030 2030 2030 2030 2030 2030 ...
## $ Decibel_Level : int 55 50 75 60 60 55 60 70 85 60 ...
## $ Traffic_Density : Factor w/ 5 levels "High","low","Low",..: 3 3 5 4 2 3 3 1 5 3 ...
## $ Green_Space_Area : int 80 60 15 40 50 70 80 35 10 65 ...
## $ Air_Quality_Index : int 40 45 110 50 60 35 30 80 150 40 ...
## $ Happiness_Score : num 8.4 7.9 4.1 7.5 7.3 8.1 8.5 6.5 4.2 7.7 ...
## $ Cost_of_Living_Index: int 110 80 55 95 90 120 95 75 40 70 ...
## $ Healthcare_Index : int 97 93 69 89 95 100 99 80 60 87 ...
## - attr(*, "na.action")= 'omit' Named int [1:4] 5 11 48 49
## ..- attr(*, "names")= chr [1:4] "5" "11" "48" "49"
which(colSums(is.na(Datos_finalesmissing_corregido))!=0)
## named integer(0)
Se muestra que se han eliminado las filas con valores faltantes, lo que ha dejado un conjunto de datos con 47 observaciones y 10 variables. No se encontraron columnas con valores faltantes después de la eliminación.
library(DMwR2)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
##
## Attaching package: 'DMwR2'
## The following object is masked from 'package:VIM':
##
## kNN
Datos_finalesmissing_corregido1 <- centralImputation(Datos_finalesmissing)
str(Datos_finalesmissing_corregido1)
## 'data.frame': 51 obs. of 10 variables:
## $ City : Factor w/ 51 levels "Adelaide","Auckland",..: 2 3 6 9 11 13 14 17 19 20 ...
## $ Month : Factor w/ 10 levels "","April","August",..: 5 5 5 5 5 5 4 4 4 4 ...
## $ Year : num 2030 2030 2030 2030 2030 2030 2030 2030 2030 2030 ...
## $ Decibel_Level : num 55 50 75 60 55 60 55 60 70 85 ...
## $ Traffic_Density : Factor w/ 5 levels "High","low","Low",..: 3 3 5 4 3 2 3 3 1 5 ...
## $ Green_Space_Area : int 80 60 15 40 65 50 70 80 35 10 ...
## $ Air_Quality_Index : int 40 45 110 50 55 60 35 30 80 150 ...
## $ Happiness_Score : num 8.4 7.9 4.1 7.5 7.8 7.3 8.1 8.5 6.5 4.2 ...
## $ Cost_of_Living_Index: int 110 80 55 95 85 90 120 95 75 40 ...
## $ Healthcare_Index : int 97 93 69 89 92 95 100 99 80 60 ...
which(colSums(is.na(Datos_finalesmissing_corregido1)) != 0)
## named integer(0)
# Aplicar knnImputation
Datos_finalesmissing_corregido3 <- centralImputation(Datos_finalesmissing)
str(Datos_finalesmissing_corregido3)
## 'data.frame': 51 obs. of 10 variables:
## $ City : Factor w/ 51 levels "Adelaide","Auckland",..: 2 3 6 9 11 13 14 17 19 20 ...
## $ Month : Factor w/ 10 levels "","April","August",..: 5 5 5 5 5 5 4 4 4 4 ...
## $ Year : num 2030 2030 2030 2030 2030 2030 2030 2030 2030 2030 ...
## $ Decibel_Level : num 55 50 75 60 55 60 55 60 70 85 ...
## $ Traffic_Density : Factor w/ 5 levels "High","low","Low",..: 3 3 5 4 3 2 3 3 1 5 ...
## $ Green_Space_Area : int 80 60 15 40 65 50 70 80 35 10 ...
## $ Air_Quality_Index : int 40 45 110 50 55 60 35 30 80 150 ...
## $ Happiness_Score : num 8.4 7.9 4.1 7.5 7.8 7.3 8.1 8.5 6.5 4.2 ...
## $ Cost_of_Living_Index: int 110 80 55 95 85 90 120 95 75 40 ...
## $ Healthcare_Index : int 97 93 69 89 92 95 100 99 80 60 ...
which(colSums(is.na(Datos_finalesmissing_corregido3)) != 0)
## named integer(0)
Se muestra que se ha realizado una imputación central para manejar los valores faltantes en el conjunto de datos.
Después de la imputación, no se encontraron columnas con valores faltantes, lo que sugiere que todos los valores faltantes han sido tratados mediante la imputación central.
Se muestra que se ha realizado una imputación central para manejar los valores faltantes en el conjunto de datos.
Después de la imputación, no se encontraron columnas con valores faltantes, lo que sugiere que todos los valores faltantes han sido tratados mediante la imputación central.