En el siguiente documento podrá encontrar códigos mediante los cuáles podrá darle diversos manejos a las bases de datos, ya sean éstas, traídas de excel, de un archivo csv (delimitado por comas), o directamente de un archivo de R (Rdata).
Aunque se utilizarán las funciones y los códigos de paquetes ya existentes, la estructura como tal del contenido presentado, es completa autoría personal. El empleo de cada código y el órden del mismo, es subjetivo, el lector podrá reacomodarlo de acuerdo a sus necesidades.
Comencemos por cargar bases de datos:
2. Para cargar bases de datos de un archivo de extensión (.xlsx), proveniente de excel: Al igual que en 1. se debe escoger la ruta de ubicación del archivo, mediante el comando “setwd”.
setwd(“C:/Users/Sigestion11/Desktop/RPUBS”)
A continuación cargamos el archivo mediante una librería específica. Para ello debemos descargar un paquete indicado.
install.packages(“readxl”)
library(readxl)
library(readxl)
a<-read_excel("SEPTIEMBRE.xlsx")
De esta manera ya nos quedará cargado el archivo deseado con nombre “a”.
A veces, cuando se quiere llevar a cabo, algún análisis de la información que se tiene en la base de datos, es útil reestructurarla, cambiarle de forma. Veremos que en ocasiones, para facilitar los análisis, se requiera pasar de una base ancha (con muchas variables), a una base larga (con muchas observaciones). Es decir, si se tienen n variables o columnas en la base de datos, la vamos a convertir en una base de n-(k-1), columnas, donde k es el número de columnas que corresponden a la variable de interés que agruparemos en una sola columna, con un nuevo nombre. Para ello, necesitaremos el paquete llamado “tidyr” y la librería con el mismo nombre.
install.packages(“tidyr”)
library(tidyr)
library(tidyr)
FAMILIA<-c("GOMEZ","GONZALEZ","MARTINEZ","VELASCO","ORTEGA","RAMIREZ","HERNANDEZ","PARDO","NIETO","SAAVEDRA")
ESTRATO<-round(runif(10,min=1,max=6),0)
AÑO1<-runif(10,min=200000,max=120000000)
AÑO2<-runif(10,min=200000,max=120000000)
AÑO3<-runif(10,min=200000,max=120000000)
AÑO4<-runif(10,min=200000,max=120000000)
AÑO5<-runif(10,min=200000,max=120000000)
Ejemplo<-data.frame(FAMILIA,ESTRATO,AÑO1,AÑO2,AÑO3,AÑO4,AÑO5)
Ejemplo
## FAMILIA ESTRATO AÑO1 AÑO2 AÑO3 AÑO4 AÑO5
## 1 GOMEZ 5 40472340 19014014 69647188 117785268 72877393
## 2 GONZALEZ 3 86053049 85934294 73184152 43110928 117208815
## 3 MARTINEZ 3 30376920 12993158 91034973 16201981 55405093
## 4 VELASCO 5 80218444 48823274 23111093 75514456 113672469
## 5 ORTEGA 4 15240330 28807460 47965288 3874458 96901677
## 6 RAMIREZ 4 41547560 27811366 20483938 16345279 46587321
## 7 HERNANDEZ 4 76509053 17931612 55246407 66336750 109616557
## 8 PARDO 5 57175689 104787588 28222174 10406100 75986619
## 9 NIETO 1 52728356 104529011 11575862 93304390 59553004
## 10 SAAVEDRA 3 11547511 27419485 88040261 382118 72804533
#Ejemplo (El comando Ejemplo es por si queremos que nos imprima la base de datos como tabla)
#View(Ejemplo) (El comando View(Ejemplo), es para ver la base de datos)
Lo que acabamos de hacer, fue exclusivamente crear una base de datos pequeña como ejemplo.
NOTA: No olvidemos que tenemos la base de datos original, llamada “a”, traída de excel. Esto no es más que un ejemplo breve e ilustrativo.
NOTA: Suponga que la variable AÑO, corresponde al ingreso de cada FAMILIA para el período.
Al reestructurar, por la variable de interés AÑO, nos quedará de la siguiente manera:
ReestructuradaEjm<- gather(Ejemplo, key =AÑO, value=INGRESO, AÑO1:AÑO5)
ReestructuradaEjm
## FAMILIA ESTRATO AÑO INGRESO
## 1 GOMEZ 5 AÑO1 40472340
## 2 GONZALEZ 3 AÑO1 86053049
## 3 MARTINEZ 3 AÑO1 30376920
## 4 VELASCO 5 AÑO1 80218444
## 5 ORTEGA 4 AÑO1 15240330
## 6 RAMIREZ 4 AÑO1 41547560
## 7 HERNANDEZ 4 AÑO1 76509053
## 8 PARDO 5 AÑO1 57175689
## 9 NIETO 1 AÑO1 52728356
## 10 SAAVEDRA 3 AÑO1 11547511
## 11 GOMEZ 5 AÑO2 19014014
## 12 GONZALEZ 3 AÑO2 85934294
## 13 MARTINEZ 3 AÑO2 12993158
## 14 VELASCO 5 AÑO2 48823274
## 15 ORTEGA 4 AÑO2 28807460
## 16 RAMIREZ 4 AÑO2 27811366
## 17 HERNANDEZ 4 AÑO2 17931612
## 18 PARDO 5 AÑO2 104787588
## 19 NIETO 1 AÑO2 104529011
## 20 SAAVEDRA 3 AÑO2 27419485
## 21 GOMEZ 5 AÑO3 69647188
## 22 GONZALEZ 3 AÑO3 73184152
## 23 MARTINEZ 3 AÑO3 91034973
## 24 VELASCO 5 AÑO3 23111093
## 25 ORTEGA 4 AÑO3 47965288
## 26 RAMIREZ 4 AÑO3 20483938
## 27 HERNANDEZ 4 AÑO3 55246407
## 28 PARDO 5 AÑO3 28222174
## 29 NIETO 1 AÑO3 11575862
## 30 SAAVEDRA 3 AÑO3 88040261
## 31 GOMEZ 5 AÑO4 117785268
## 32 GONZALEZ 3 AÑO4 43110928
## 33 MARTINEZ 3 AÑO4 16201981
## 34 VELASCO 5 AÑO4 75514456
## 35 ORTEGA 4 AÑO4 3874458
## 36 RAMIREZ 4 AÑO4 16345279
## 37 HERNANDEZ 4 AÑO4 66336750
## 38 PARDO 5 AÑO4 10406100
## 39 NIETO 1 AÑO4 93304390
## 40 SAAVEDRA 3 AÑO4 382118
## 41 GOMEZ 5 AÑO5 72877393
## 42 GONZALEZ 3 AÑO5 117208815
## 43 MARTINEZ 3 AÑO5 55405093
## 44 VELASCO 5 AÑO5 113672469
## 45 ORTEGA 4 AÑO5 96901677
## 46 RAMIREZ 4 AÑO5 46587321
## 47 HERNANDEZ 4 AÑO5 109616557
## 48 PARDO 5 AÑO5 75986619
## 49 NIETO 1 AÑO5 59553004
## 50 SAAVEDRA 3 AÑO5 72804533
#Reestructurada (El comando Reestructurada se puede emplear para que nos muestre la base de datos reestructurada, como tabla)
#View(Reestructurada) (El comando View(Reestructurada), se emplea para ver la base de datos reestructurada)
NOTA: Hemos conseguimos pasar de una base que tenía los años en sus columnas, a una base que tiene los años en una sola columna.
write.csv(ReestructuradaEjm, "Mi Base de Datos Reestructurada.csv")
#De ésta manera, exportarmos un archivo de formato csv, a la carpeta en la cual estoy trabajando. La misma carpeta de donde importamos la base de datos.
library(tidyr)
Reestructurada<- gather(a, key =CUPS, value=CUPSCONSULTA, ServRg_CdgoCnsltaPcdmnto1:ServRg_CdgoCnsltaPcdmnto20)
#Reestructurada (El comando Reestructurada se puede emplear para que nos muestre la base de datos reestructurada, como tabla)
#View(Reestructurada) (El comando View(Reestructurada), se emplea para ver la base de datos reestructurada)
Adicional a la Reestructuración, para depurar la base de datos, lo que hacemos es filtrarla y organizar las columnas:
Reestructurada1<-subset(Reestructurada,CUPSCONSULTA>0,selec=c(ESM,MES,CEDULANo,ESPECIALIDAD,FECHA,
IDENTIFICACIONPACIENTE, NUMERNLARPUNTSNIMAS,APELLIDOSNOMBRES,FUERZA,TIPOUSUARIO,GRADO,AÑOS,
SEXOMMasculinoFFemenino,CIE10,CUPSCONSULTA,FinalidadPyP,CAUSAEXTERNA,TIPODEATENCION,
ASISTE,EXTRA))
#Se eliminaron los registros de los cuales la variable CUPSCONSULTA sea 0 o "NA" y adicionalmente se eliminan las variables irrelevantes.
Como último paso, exportamos como csv para entregar el reporte.
write.csv(Reestructurada1, "REESTRUCTURADASEPTIEMBRE.csv")
#De ésta manera, exportamos un archivo de formato csv, a la carpeta en la cual estoy trabajando. La misma carpeta de donde importamos la base de datos.