Instalar y cargar paquetes
library(data.table)
library(ggplot2)
library(treemap)
library(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:data.table':
##
## hour, isoweek, mday, minute, month, quarter, second, wday, week,
## yday, year
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
Cargar base de datos
egresos <- readRDS("Copia de egresos.RDS")
class(egresos)
## [1] "data.frame"
egresos<- as.data.table(egresos)
Existe una inconsistencia en la base de datos, ya que hay personas que tienen más dÃas de estadÃa en el hospital que dÃas vividos. Por lo tanto, eliminamos estos casos de la base de datos.
egresos[,dÃas_vida:=EDAD*365]
egresos <- egresos[!DIAS_ESTAD>dÃas_vida]
Los nombres de la variable Tratamiento son largos. Por lo que los reemplazaremos por nombres más cortos. Esto permitirá visualizar de mejor manera algunos gráficos.
egresos[Tratamiento=="Embarazo, parto y puerperio",trat:="Maternidad"]
egresos[Tratamiento=="Neoplasias",trat:="Neoplasias"]
egresos[Tratamiento=="Enfermedades de la sangre y de los órganos hematopoyéticos y otros trastornos que afectan el mecanismo de la inmunidad",trat:="Sistema Inmune"]
egresos[Tratamiento=="Enfermedades endocrinas, nutricionales y metabólicas",trat:="Nutricionales"]
egresos[Tratamiento=="Trastornos mentales y del comportamiento",trat:="Mentales"]
egresos[Tratamiento=="Enfermedades del sistema nervioso",trat:="Sistema Nervioso"]
egresos[Tratamiento=="Enfermedades del ojo y sus anexos y/o Enfermedades del oÃdo y de la apófisis mastoides",trat:="Ojos y oÃdo"]
egresos[Tratamiento=="Enfermedades del sistema circulatorio",trat:="Sistema Circulatorio"]
egresos[Tratamiento=="Enfermedades del sistema respiratorio",trat:="Sistema Respiratorio"]
egresos[Tratamiento=="Enfermedades del aparato digestivo",trat:="Sistema Digestivo"]
egresos[Tratamiento=="Enfermedades de la piel y el tejido subcutáneo",trat:="Piel"]
egresos[Tratamiento=="Enfermedades del sistema osteomuscular y del tejido conectivo",trat:="Osteomuscular"]
egresos[Tratamiento=="Enfermedades del aparato genitourinario",trat:="Genitourinario"]
egresos[Tratamiento=="Ciertas enfermedades infecciosas y parasitarias",trat:="Infecciosas y Parasitarias"]
egresos[Tratamiento=="Ciertas afecciones originadas en el periodo perinatal",trat:="Ciertas afecciones originadas en el periodo perinatal"]
egresos[Tratamiento=="Malformaciones congénitas, deformidades y anomalÃas cromosómicas",trat:="Malformaciones congénitas"]
egresos[Tratamiento=="SÃntomas, signos y hallazgos anormales clÃnicos y de laboratorio, no clasificados en otra parte",trat:="SÃntomas anormales clÃnicos"]
egresos[Tratamiento=="Traumatismos, envenenamientos y algunas otras consecuencias de causa externa",trat:="Traumatismos"]
egresos[Tratamiento=="Factores que influyen en el estado de salud y contacto con los servicios de salud",trat:="Factores que influyen en el estado de salud"]
Crear sistema de coordenadas
ggplot(data=egresos, aes(x=DIAS_ESTAD))
ggplot(data=egresos, aes(x=DIAS_ESTAD)) + geom_histogram(bins=10)
ggplot(data=egresos[egresos$DIAS_ESTAD<=50], aes(x=DIAS_ESTAD)) + geom_histogram(bins=10)
ggplot(data=egresos, aes(x=Prevision)) + geom_bar()
ggplot(data=egresos, aes(x=Prevision, fill=SEXO)) + geom_bar()
ggplot(data=egresos, aes(x=Prevision, fill=SEXO)) + geom_bar(position="dodge")
ggplot(data=egresos, aes(x=Prevision, fill=SEXO)) + geom_bar(position="fill")
ggplot(data=egresos[egresos$DIAS_ESTAD<=50], aes(x=Tipo_ESTAB, y=DIAS_ESTAD)) + geom_boxplot()
ggplot(data=egresos[egresos$DIAS_ESTAD<=50], aes(x=Tipo_ESTAB, y=DIAS_ESTAD, fill=Tipo_ESTAB)) + geom_boxplot(outlier.shape=NA)
ggplot(data=egresos[egresos$DIAS_ESTAD<=50], aes(x=Tipo_ESTAB, y=DIAS_ESTAD, fill=Tipo_ESTAB)) + geom_boxplot(outlier.shape=NA) + labs(title="Distribución dÃas de estadÃa", subtitle="Por tipo de establecimiento", caption="Fuente xx", x="", y="DÃas de EstadÃa") + theme(axis.text.x = element_blank()) + scale_fill_discrete(name="Tipo de Establecimiento")
Tendencia temoral de una variable numérica.
egresos[,Egresos:=as.Date(FECHA_EGR,format="%y/%m/%d")]
egresos[,Ingreso:=Egresos-DIAS_ESTAD]
egresos_17<-egresos[Ingreso>="2017-01-01" & Ingreso<="2017-12-31" & trat=="Sistema Respiratorio"]
egresos_17[,Cantidad:=.N,by=Ingreso]
ggplot(data=egresos_17,aes(x=Ingreso, y=Cantidad, color=Prevision)) + geom_line()
ggplot(data=egresos_17,aes(x=Ingreso, y=Cantidad, color=Prevision)) +
geom_line() +
labs(x="Fecha de Ingreso", y="Cantidad de personas", title="Número de personas que ingresan por enfermedades al sistema respiratorio", caption = "Fuente: Datos de Egresos Hospitalarios 2017 - MINSAL") +
scale_color_discrete(name="Previsión")+
theme(axis.text.x = element_text(angle=70, vjust = 0.6),
plot.title = element_text(size = 8.5))
Muestra el valor de dos variables numéricas o una numérica y otra categórica en un gráfico de dos dimensiones.
## Vamos a crear un ID para cada observación, el cual va a corresponder al número de fila de cada observación
egresos[,id:=row.names(egresos)]
egresos$id<-as.numeric(egresos$id)
muestra<-sample(x=1:nrow(egresos), size = 0.01*nrow(egresos))
ggplot(data=egresos[id %in% muestra & DIAS_ESTAD<50], aes(x=EDAD,y=DIAS_ESTAD)) +
geom_point()
ggplot(data=egresos[id %in% muestra & DIAS_ESTAD<50], aes(x=EDAD,y=DIAS_ESTAD, color=trat)) +
geom_point() +
facet_wrap(facets="trat")
Muestra el valor proporcional que representa en la variable cada una de las categorÃas
treemap(egresos,index = "trat", vSize = "id", type="value", title="Cantidad de personas por tipo de tratamiento")