Por Julio César Martínez Sánchez
El objetivo de este tutorial es introducir al usuario en el manejo de graficas con R. Se usan las bases de datos de la Encuesta Nacional de Ocupación y Empleo (ENOE) del primer trimestre de 2016, las cuales se encuentran en la página de INEGI.
Para poder hacer las graficas correspondientes se requieren los siguientes paquetes:
data.table, foreign, questionr, survey, ggplot2, gridExtra, grid. En caso de que no esténn disponibles, se pueden instalar con el siguiente comando: If they are not already installed, they can install with the next command:
#Instalar los paquete necesarios
install.packages(c("data.table","foreign","questionr","survey","ggplot2","gridExtra","grid"))
library(data.table)
library(foreign)
library(questionr)
library(survey)
library(ggplot2)
library(gridExtra)
library(grid)
setwd("C:/Users/JC/Desktop/D/1")
SDEMT116<-data.frame(read.dbf("sdemt116.dbf"))
#Convertir las variables a num?ricas
SDEMT116$R_DEF <-as.numeric(as.character(SDEMT116$R_DEF))
SDEMT116$C_RES <-as.numeric(as.character(SDEMT116$C_RES))
SDEMT116$EDA <-as.numeric(as.character(SDEMT116$EDA))
SDEMT116$CLASE2 <-as.numeric(as.character(SDEMT116$CLASE2))
#Filtrar a la poblaci?n que es de inter?s
SD<-SDEMT116[which(SDEMT116$CLASE2==1 & (SDEMT116$EDA>=15 & SDEMT116$EDA<=98) & SDEMT116$R_DEF==0 & (SDEMT116$C_RES==1 | SDEMT116$C_RES==3)),]
#Variable Sexo (SEX)
SD$SEXO <- factor(SD$SEX,levels = c(1,2),labels = c("Hombre", "Mujer"))
#Verificar la recodificaci?n con un tabulado simple
wtd.table(SD$SEXO,weights = SD$FAC)
## Hombre Mujer
## 31481902 19296727
#Variable Posici?n en la ocupaci?n (POS_OCU)
SD$POS_OCU <- factor(SD$POS_OCU,levels = c(1,2,3,4,5),labels = c("Subordinados", "Empleadores","CtaPropia", "SinPago","NE"))
#Verificar la recodificaci?n con un tabulado simple
wtd.table(SD$POS_OCU)
## Subordinados Empleadores CtaPropia SinPago NE
## 118061 7720 33765 7194 0
ggplot
, la cual se encuentra en el paquete ggplot2. Esta función es muy ?til ya que permite crear una gráfica en tres pasos:
#1) Indicar la base de datos y la variable
g1<-ggplot(SD,aes(POS_OCU))
#2) Definir el tipo de gr?fica y definir las caracter?sticas
g1+geom_bar(fill="deepskyblue2",aes(weights=SD$FAC))
#3) Agregar las capas que se requieran.
g1+geom_bar(fill="deepskyblue2",aes(weights=SD$FAC))+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
g2<-ggplot(SD,aes(POS_OCU))
g2+geom_bar(fill="yellowgreen",aes(weights=SD$FAC))+
facet_wrap(~ SEX)+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
g3<-ggplot(SD,aes(x=CS_P13_1,fill=SEX))
g3+geom_bar(aes(weights=SD$FAC),position = "dodge")+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
# Se crea la gr?fica y se guarda
grafica1<-
g1+geom_bar(fill="deepskyblue2",aes(weights=SD$FAC))+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
grafica2<-
g2+geom_bar(fill="yellowgreen",aes(weights=SD$FAC))+
facet_wrap(~ SEX)+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
grafica3<-
g3+geom_bar(aes(weights=SD$FAC),position = "dodge")+
ggtitle("Posici?n en la Ocupaci?n")+
xlab("Rango de horas")+
ylab("N?mero de personas")
grafica4<-
g4+geom_area(stat = "bin",binwidth = 5,aes(weights=SD$FAC))+
ggtitle("Edad")+
xlab("Rango")+
ylab("Personas")
grid.arrange(grafica1, grafica2,grafica3,grafica4,nrow=4)