INTRODUCCIÓN:

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.

IMPORTAR BASES DE DATOS:

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”.

REESTRUCTURACION DE BASES DE DATOS:

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.

Por último exportamos nuestra nueva base de datos, reestructurada, para poder manejarla en otro software o para entregarla, mediante el siguiente código:

1. Para exportarla como archivo delimitado por comas (.csv):

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.

REESTRUCTURACIÓN CON EL ARCHIVO REAL:

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.