Notas:

Ligas para descargar Bases de datos https://www.inegi.org.mx/programas/endiseg/2021/#Microdatos

Antes de empezar necesitamos un Directorio de Trabajo; en el se guardaran las bases de datos y los resultados, a esto se le llama “directorio de trabajo”.

# Establecer directorio de trabajo
setwd ("C:/Users/Nurin/Downloads/Bases_dat_fes")

Para verfificar la ubicación del directorio de trabajo corremos la siguiente instrucción:

getwd ()
## [1] "C:/Users/Nurin/Downloads/Bases_dat_fes"

Instalación de librerias

Para revisar que paquetes estan instalados y para instalar cualquier paquetería ponemos la siguiente instrucción

installed.packages()

Para abrir distintos formatos de base de datos instalaremos la paquetería “haven” (abre formatos: stata, sas, spss). Además instalaremos paquetes para guardar, abrir, salvar en formato CSV como: “csv” , “csvread”,“csvwr”, “csvy”, “read.csv” y “read.csv2”

Una vez instaladas las paqueterías, podemos llamarlas con la instrucción “library”

Manejo de Bases de Datos.

Ahora podemos trabajar con nuestra base de datos en formato csv, pero primero debemos comprender como funciona la instrucción, “read.csv”

Formato CSV: notas para comprender la instrucción

# read.csv (file,           # Nombre del archivo o ruta completa del archivo
#         header = TRUE,    # Leer el encabezado/nombre de variables (TRUE) o no (FALSE)
#         fill = TRUE       # Rellenar celdas vacías (TRUE) o no (FALSE)
#        )                  # Cerrar instrucción

Nota: en el curso utilizaremos la Bases de datos “Encuesta Nacional sobre Diversidad Sexual y de Género” (ENDISEG)

Base de Datos a nivel individual: Tabla Sociodemográfica

tsdem <- read.csv ("C:/Users/Nurin/Downloads/Bases_dat_fes/Bases/TSDEM.csv", header=TRUE, fill=TRUE)
tapartA <- read.csv ("C:/Users/Nurin/Downloads/Bases_dat_fes/Bases/TAPART_A.csv", header=TRUE, fill=TRUE)
tapartB <- read.csv ("C:/Users/Nurin/Downloads/Bases_dat_fes/Bases/TAPART_B.csv", header=TRUE, fill=TRUE)
tmodulo <- read.csv ("C:/Users/Nurin/Downloads/Bases_dat_fes/Bases/TMODULO.csv", header=TRUE, fill=TRUE)

Base de Datos a nivel vivienda: Tabla características de la vivienda

tvivienda <- read.csv ("C:/Users/Nurin/Downloads/Bases_dat_fes/Bases/TVIVIENDA.csv", header=TRUE, fill=TRUE)

Para visualizar la base de datos sociodemográfica de la ENISEG corremos las siguiente instrucción

View(tsdem)

Pegar Bases de Datos: Merge

Con la misma unidad de análisis –> Individuos

 isdem1 <-merge(x = tapartA, y = tsdem, by=c("FOLIO", "VIV_SEL", "HOGAR", "N_REN"), all = TRUE)
 isdem2 <-merge(x = tapartB, y = isdem1 , by=c("FOLIO", "VIV_SEL", "HOGAR", "N_REN"), all = TRUE)
 isdem <-merge(x = tmodulo, y = isdem2, by=c("FOLIO", "VIV_SEL", "HOGAR", "N_REN"), all = TRUE)
## Warning in merge.data.frame(x = tmodulo, y = isdem2, by = c("FOLIO",
## "VIV_SEL", : column names 'EST_DIS.x', 'UPM_DIS.x', 'FACTOR.x', 'EST_DIS.y',
## 'UPM_DIS.y', 'FACTOR.y' are duplicated in the result

Con diferente unidad de análisis hogar –> individuos

endiseg <-merge(x = tvivienda, y = isdem, by=c("FOLIO", "VIV_SEL"), all = TRUE)

Ordenar Datos

#sort(endiseg, decreasing = FALSE, na.last = TRUE, method = c("FOLIO", "VIV_SEL", "HOGAR", "N_REN"))

Guardar una base de datos en formato R

saveRDS(endiseg,file="endisegR.Rda")

Llamar la base de datos para trabajar

endisegR <-readRDS("endisegR.Rda")

Instalar y activar los paquetes para el análisis de bases de datos

  • install.packages(“modeest”)
  • install.packages(“ggpubr”)
  • install.packages(“pastecs”)
  • install.packages(“xlsx”)
  • install.packages(“RcmdrMisc”)
  • install.packages(“gmodels”)
  • install.packages(“tidyverse”)
  • install.packages(“psych”)
  • install.packages(“dplyr”)
  • install.packages(“ggpubr”)
  • install.packages(“crosstab”)
  • install.packages (“ggplot2”)
  • install.packages (“stats”)
  • install.packages (“base”)

Una vez instalados los paquetes en R, cada vez que los requiramos debemos activar la libreria utilizando la instrucción “library”.

  • library (modeest)
  • library (ggpubr)
  • library (pastecs)
  • library (xlsx)
  • library (RcmdrMisc)
  • library (gmodels)
  • library(tidyverse)
  • library(psych)
  • library(dplyr)
  • library(ggpubr)
  • library(crosstab)
  • library(ggplot2)

Estadística descriptiva

Para obtener las estadísticas descriptivas de toda la base usaremos la siguiente instrucción

# Nota copiar y pegar la instrucción

#result <-stat.desc(endisegR[, -5])
#         round(result,2) 

Exportar las estadísticas descriptivas a formato CSV

write.csv(result,"endiseg21.csv")

Análisis descriptivo variables cuantitativas

Gráfico de caja

boxplot(endisegR$EDAD, col="lightblue", main= "Gráfica de caja de la variable edad ")
points(mean(endisegR$EDAD), pch=8)

Histograma de frecuencias se puede usar en variables cualitativas y cuantitativas

Ejemplo 1: Histograma de frecuencias de la variable edad.

library(ggpubr)
## Loading required package: ggplot2
gghistogram(endisegR, x="EDAD",bins=10, color="darkblue", 
            fill="lightblue",title="Histograma de frecuencias", add = "mean")
## Warning: geom_vline(): Ignoring `mapping` because `xintercept` was provided.
## Warning: geom_vline(): Ignoring `data` because `xintercept` was provided.

hist(endisegR$EDAD, col="orange", main="Histograma de edad",
     ylab="Frecuencia", xlab="Edad simple")

Ejemplo 2: Histograma de frecuencias de la variable escolaridad.

gghistogram(endisegR, x="NIV",bins=10,title="Histograma de frecuencias", add="mean")
## Warning: geom_vline(): Ignoring `mapping` because `xintercept` was provided.
## Warning: geom_vline(): Ignoring `data` because `xintercept` was provided.
## Warning: Removed 108308 rows containing non-finite values (stat_bin).

Tabla de frecuencias con variables cuantitativas

# tfreq1 <- as.data.frame(table(endisegR$EDAD))

# tfreq1

Tabla de frecuencias con variables cualitativas

tfreq2<-table(endisegR$SEXO,endisegR$P8_1A)

tfreq2
##    
##       1   2   3   4
##   1  46 516 276  73
##   2 195  83 831 150

Diagramas de barras

gbar1 <-barplot(table(endisegR$SEXO), col="lightgrey", 
                xlab= "Sexo", ylab= "Frecuencias", 
                main="ENDISEG 2021: Diagrama de barras")
text(x=gbar1, y=table(endisegR$SEXO),labels=(as.character(table(endisegR$SEXO))), pos=1)

Generar Muestras Aleatorias

Con la siguiente instrucción crearemos varias muestras aleatorias simples, bajo el suspuesto de que la población sigue una distribución de probabilidad normal.

# mendiseg <-endisegR %>% slice_sample(n = 5000)

Salvar muestra en carpeta en formato R.

# saveRDS(mendiseg,file="mendiseg.Rda")