Se puede realizar de formas diferentes :
Los anteriores caso implican que tengamos la base de datos descargada en una carpeta de nuestro PC
Por ejemplo
Instalación de paquetes requeridos
# install.packages("RSocrata", dependencies = TRUE) # instalación de paquete RSocrata
library(RSocrata) # llamado de libreria
# token <- "zxMsD6eXc0zlEMryRGW87Hwrz" # token
# Colombia <- read.socrata("https://www.datos.gov.co/resource/gt2j-8ykr.json", app_token = token) # lectura
Este proceso tarde unos minutos pues la base es grande
Para guardar el archivo en mi PC, el formarto RDS es menos pesado En ete caso se guarda el archivo con el nombre de Colombia.RDS en la carpeta data/
saveRDS(Colombia, file = "data/Colombia.RDS")
data(iris) # data set iris
data(cars) # data set cars
Ahora si tengo un archivo en mi PC, puedo utilizar la siguinte función para conocer la ruta donde esta el archivo y luego copiando la ruta obtenida con Ctrl+C,
file.choose()
En mi caso se genera la ruta “data/Colombia.RDS”
Colombia<- readRDS("data/Colombia.RDS")
Después de bajar la data es necesario revisar que no tenga problemas como:
summary(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
summary(cars)
speed dist
Min. : 4.0 Min. : 2.00
1st Qu.:12.0 1st Qu.: 26.00
Median :15.0 Median : 36.00
Mean :15.4 Mean : 42.98
3rd Qu.:19.0 3rd Qu.: 56.00
Max. :25.0 Max. :120.00
id_de_caso ciudad_municipio_nom fecha_inicio_sintomas
Length:4957277 Length:4957277 Min. :NA
Class :character Class :character 1st Qu.:NA
Mode :character Mode :character Median :NA
Mean :NA
3rd Qu.:NA
Max. :NA
NA's :4957277
confirmados fecha_de_notificaci_n fecha_diagnostico fecha_muerte
Length:4957277 Min. :NA Min. :NA Min. :NA
Class :character 1st Qu.:NA 1st Qu.:NA 1st Qu.:NA
Mode :character Median :NA Median :NA Median :NA
Mean :NA Mean :NA Mean :NA
3rd Qu.:NA 3rd Qu.:NA 3rd Qu.:NA
Max. :NA Max. :NA Max. :NA
NA's :4957277 NA's :4957277 NA's :4957277
fecha_reporte_web departamento departamento_nom ciudad_municipio
Min. :NA Length:4957277 Length:4957277 Length:4957277
1st Qu.:NA Class :character Class :character Class :character
Median :NA Mode :character Mode :character Mode :character
Mean :NA
3rd Qu.:NA
Max. :NA
NA's :4957277
edad unidad_medida sexo fuente_tipo_contagio
Min. : 1.0 Length:4957277 Length:4957277 Length:4957277
1st Qu.: 26.0 Class :character Class :character Class :character
Median : 37.0 Mode :character Mode :character Mode :character
Mean : 39.5
3rd Qu.: 52.0
Max. :114.0
ubicacion estado pais_viajo_1_cod pais_viajo_1_nom
Length:4957277 Length:4957277 Length:4957277 Length:4957277
Class :character Class :character Class :character Class :character
Mode :character Mode :character Mode :character Mode :character
recuperado fecha_recuperado tipo_recuperacion per_etn_
Length:4957277 Min. :NA Length:4957277 Length:4957277
Class :character 1st Qu.:NA Class :character Class :character
Mode :character Median :NA Mode :character Mode :character
Mean :NA
3rd Qu.:NA
Max. :NA
NA's :4957277
nom_grupo_
Length:4957277
Class :character
Mode :character
Por otro lado la función View() permite visualizar la base en una ventana de manera separada
View(Colombia)
View(iris
Podemos visualizar los primeros 6 registros con el nombre de las variables
head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
y los últimos seis registros
tail(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
145 6.7 3.3 5.7 2.5 virginica
146 6.7 3.0 5.2 2.3 virginica
147 6.3 2.5 5.0 1.9 virginica
148 6.5 3.0 5.2 2.0 virginica
149 6.2 3.4 5.4 2.3 virginica
150 5.9 3.0 5.1 1.8 virginica
Para realizar una revisión de una variable cualitativa utilizamos la función table(), la cual construye una tabla de frecuencias
table(Colombia$ubicacion)
casa fallecido hospital hospital uci
4803358 126299 7950 993
Observemos aparecen valores diferentes para una sola categoría de la variable:
Es necesario estandarizar estos valores y convertirlos en este caso a todos los valores en casa (en minúsculas). Para vamos a utilizar la función : str_to_lower() del paquete stringr, guardandolo dentro de la misma variable
Inicialmente debemos de instalar y activar el paquete tidyverse que es un paquete que contiene ocho paquetes todos enfocados al análisis de datos:
install.packages("tidyverse", dependencies = TRUE)
library(tidyverse)
Despues de activar el conjunto de librerías, procedemos a realizar el arreglo de la variable Colombia$ubucacion
Ahora arreglamos el problema presentado en la variable ubucacion, primero unificando todos los valores a en minúscula
Colombia$ubicacion=str_to_lower(Colombia$ubicacion)
Para verificar los arreglo volvemos a construir la tabla
table(Colombia$ubicacion)
casa fallecido hospital hospital uci
4803358 126299 7950 993
Después de esto realizamos en cambio de n/a por NA
Colombia$ubicacion[Colombia$ubicacion=="n/a"]=NA
table(Colombia$ubicacion)
casa fallecido hospital hospital uci
4803358 126299 7950 993
Otro problema que presenta la base de datos es que la variable edad es en formato chr y debería ser numérica. Para cambiar el formato utilizamos la función as.numeric() y la guardamos en la misma variable
class(Colombia$edad)
[1] "integer"
Colombia$edad=as.integer(Colombia$edad)
class(Colombia$edad)
[1] "integer"
De igual manera procedemos con las demás variables
Colombia$sexo=str_to_lower(Colombia$sexo)
Colombia$estado=str_to_lower(Colombia$estado)
Colombia$estado[Colombia$estado=="n/a"]=NA
Colombia$recuperado=str_to_lower(Colombia$recuperado)
Colombia$recuperado[Colombia$recuperado=="n/a"]=NA
Verificamos los cambios
table(Colombia$sexo)
f m
2602214 2355063
table(Colombia$estado)
fallecido grave leve moderado
126299 993 4803358 7950
table(Colombia$recuperado)
activo fallecido recuperado
15647 126299 4799576
Finalmente convertimos todas las variables fecha en formado date
Colombia$fecha_reporte_web=lubridate::dmy(Colombia$fecha_reporte_web)
Colombia$fecha_de_notificaci_n=lubridate::dmy(Colombia$fecha_de_notificaci_n)
Colombia$fecha_inicio_sintomas=lubridate::dmy(Colombia$fecha_inicio_sintomas)
Colombia$fecha_diagnostico=lubridate::dmy(Colombia$fecha_diagnostico)
Colombia$fecha_recuperado=lubridate::dmy(Colombia$fecha_recuperado)
Colombia$fecha_muerte=lubridate::dmy(Colombia$fecha_muerte)
YA ESTA LISTA LA BASE !!!!
Este un trabajo que demanda mucho tiempo, pero que es necesario para tener una buena calidad en los datos. Cuando la base esta bien, podemos continuar con los demás procesos y también guardar la base transformada para una posterior procesamiento
En este caso la se guarda en formato csv
write_csv(Colombia, "data/Colombia.csv")
o en formato RDS
saveRDS(Colombia, file = "data/Colombia.RDS")
LISITO !!!!
TENEMOS LA BASE DEL COVID.19 ACTUALIZADA Y ARREGLADA
En caso de querer seleccionar una parte de la data, por ejemplo los datos de CALI utilizamos en siguiente código
Cali=Colombia[Colombia$ciudad_municipio_nom=="CALI",]
Valle=subset(Colombia, departamento=="76")
[1] "PROBABILIDAD Y ESTADÍSTICA ES UNA ASIGNATURA IMPORTANTE EN LA FORMACIÓN DE TODO PROFESIONAL"
[1] "probabilidad y estadística es una asignatura importante en la formación de todo profesional"
[1] "Probabilidad Y Estadística Es Una Asignatura Importante En La Formación De Todo Profesional"
[1] "Probabilidad y estadística es una asignatura importante en la formación de todo profesional"