0% encontró este documento útil (0 votos)
46 vistas4 páginas

Tidy Verse

El documento describe un análisis de datos sobre pacientes con tuberculosis utilizando R y varias bibliotecas como dplyr y ggplot2. Se realizan diversas manipulaciones de datos, como filtrado, conteo y visualización de información sobre la cantidad de pacientes, tipos de diagnóstico y características demográficas. Además, se exploran comparaciones estadísticas y gráficos para entender mejor la relación entre el VIH y la tuberculosis en diferentes grupos de edad y sexo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas4 páginas

Tidy Verse

El documento describe un análisis de datos sobre pacientes con tuberculosis utilizando R y varias bibliotecas como dplyr y ggplot2. Se realizan diversas manipulaciones de datos, como filtrado, conteo y visualización de información sobre la cantidad de pacientes, tipos de diagnóstico y características demográficas. Además, se exploran comparaciones estadísticas y gráficos para entender mejor la relación entre el VIH y la tuberculosis en diferentes grupos de edad y sexo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como TXT, PDF, TXT o lee en línea desde Scribd

# Manejo y transformaci�n de datos

# Abrir la data

setwd("C:/tidyverse") # Establecer directorio de trabajo

data1 = [Link]("database_tb.csv", header = T) # Abrir la data


colnames(data1) # Variables de la data
head(data1)

# Manejo de la data con dplyr

[Link]("dplyr")
[Link]("janitor")
[Link]("ggplot2")
[Link]("knitr")
library(dplyr)
library(janitor)
library(ggplot2)
library(knitr)

data1 = tbl_df(data1) # Convertimos a un objeto "tbl"


class(data1)
data1

glimpse(data1)

# Tabla 1. Cantidad de pacientes manejados por la Cl�nica de Tuberculosis


data1 %>%
count(anio)

data1 %>%
count(anio)%>%
mutate(porc = [Link](n)*100)

data1 %>%
count(anio)%>%
mutate(porc = [Link](n)*100)%>%
ggplot(aes(x=anio, y=n)) + geom_line()

# Tabla 2. Cruce de a�o y tipo de pacientes atendidos en la Cl�nica de Tuberculosis

data1 %>%
count(anio, tipo_px_prof_o_activo)

data1 %>%
count(anio, tipo_px_prof_o_activo) %>%
group_by(tipo_px_prof_o_activo) %>%
mutate(porc = [Link](n)*100)

# Usando Janitor

data1 %>%
tabyl(anio, tipo_px_prof_o_activo) %>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 1) %>%
adorn_ns("front")
data1 %>%
count(anio, tipo_px_prof_o_activo) %>%
group_by(tipo_px_prof_o_activo) %>%
mutate(porc = [Link](n)*100)%>%
ggplot(aes(x=anio, y=porc, col=tipo_px_prof_o_activo)) + geom_line()

# Quiero saber cu�ntos pacientes fueron atendidos que eran VIH negativos y
# con tuberculosis activa

data1 %>%
filter(dx_vih!="Si", tipo_px_prof_o_activo!="Profilaxis")%>%
count(anio) %>%
ggplot(aes(x = anio, y = n)) + geom_line() + labs(x = "A�o", y = "Frecuencia",
title = "Pacientes Tb activos")

# Filtrar por atenci�n pedi�trica (edad < 13 a�os), funci�n *filter*

data1 %>%
filter(dx_vih!="Si", tipo_px_prof_o_activo!="Profilaxis",
edad_al_diagnostico < 13)%>%
count(anio)

# Ordenando el data frame funci�n *arrange*


data1 %>%
filter(dx_vih!="Si", tipo_px_prof_o_activo!="Profilaxis",
edad_al_diagnostico < 13)%>%
count(anio) %>%
arrange(desc(n))

# Transformar una variable con la funci�n *mutate*

# A los pacientes menores de 13 a�os los atiende la secci�n de pediatr�a


# Debo crear la varaible Pediatr�a para diferenciar entre pacientes seg�n edades

data2 = data1 %>%


mutate(seccion = ifelse(edad_al_diagnostico < 13, "Pediatria", "Adultos"))%>%
filter(dx_vih!="Si", tipo_px_prof_o_activo!="Profilaxis")%>%
count(anio, seccion)

# Usamos el paquete knitr


data2 %>%
kable()

# Agrupar datos con la funci�n *group_by* y hacer res�menes con *summarize*

# Ahora yo quisiera comparar la edad promedio de pacientes adultos con


# VIH con la edad de pacientes adultos sin VIH,
# (solo me interesan los pacientes activos)

data1 %>%
filter(edad_al_diagnostico > 12, tipo_px_prof_o_activo=="Tuberculosis activa") %>
%
group_by(dx_vih) %>%
summarize(media_edad = mean(edad_al_diagnostico), de_edad =
sd(edad_al_diagnostico))
# visualicemos lo anterior con un boxplot

data1 %>%
filter(edad_al_diagnostico > 12, tipo_px_prof_o_activo=="Tuberculosis activa") %>
%
group_by(dx_vih) %>%
ggplot(aes(x = dx_vih, y = edad_al_diagnostico)) + geom_boxplot()

# Prueba de T de Student

data3 = data1 %>%


filter(edad_al_diagnostico > 12, tipo_px_prof_o_activo=="Tuberculosis activa") %>
%
group_by(dx_vih)

[Link](data3$edad_al_diagnostico ~ data3$dx_vih, [Link] = TRUE)

# Ahora me pregunto, la tuberculosis pulmonar se presenta a la misma edad promedio?

data1 %>%
filter(edad_al_diagnostico > 12, tipo_px_prof_o_activo=="Tuberculosis activa") %>
%
group_by(dx_vih) %>%
ggplot(aes(x = dx_vih, y = edad_al_diagnostico, color = tipo_de_tb)) +
geom_boxplot()
+ labs (x = "Diagn�stico de VIH", y = "Edad al diagn�stico (a�os")

# centrar� mis an�lisis en los pacientes adultos con VIH con Tb activa

data4 = data1 %>%


filter(edad_al_diagnostico > 12, tipo_px_prof_o_activo=="Tuberculosis activa",
dx_vih == "Si")

# Continuar� trabajando con boxplots:

# Var�an los CD4 (defensas) seg�n tipo de tuberculosis?

data4 %>%
ggplot(aes(x = tipo_de_tb, y = cd4, fill = tipo_de_tb)) + geom_boxplot()

# Adem�s quiero saber si ese comportamiento var�a seg�n edad y sexo

# El argumento facet_wrap

data4 %>%
ggplot(aes(x = tipo_de_tb, y = cd4, fill = tipo_de_tb)) + geom_boxplot() +
facet_wrap(~edad_rangos)

data4 %>%
ggplot(aes(x = tipo_de_tb, y = cd4, fill = tipo_de_tb)) + geom_boxplot() +
facet_wrap(~sexo)

# Ahora trabajemos con gr�ficos de dispersi�n

data4 %>%
ggplot(aes (x = cd4, y=cv, col = tipo_de_tb)) + geom_point()

# El argumento size
data4 %>%
ggplot(aes (x = cd4, y=cv, col = tipo_de_tb, size = cv)) + geom_point()

data4 %>%
ggplot(aes (x = cd4, y=cv, col = tipo_de_tb, size = cd4)) + geom_point()

data4 %>%
ggplot(aes (x = cd4, y=cv, col = tipo_de_tb, size = edad_rangos)) + geom_point()

# Y ahora vemos el uso concomitante de cada argumento usado

data4 %>%
ggplot(aes (x = cd4, y=cv, col = tipo_de_tb, size = edad_rangos)) +
geom_point() + facet_wrap(~sexo)

# Y qu� pasa con los gr�ficos para variables cualitativas?

# Pies para comparar la distribuci�n de sexo entre pacientes VIH y no VIH

data3 %>%
count(sexo) %>%
ggplot(aes(x="", y=n, fill=sexo)) +
geom_bar(stat="identity", width=1) +
coord_polar("y", start=0) + facet_wrap(~dx_vih)

data3 %>%
count(sexo) %>%
ggplot(aes(x="", y=n, fill=sexo)) +
geom_bar(stat="identity", width=1) +
coord_polar("y", start=0) + facet_wrap(~dx_vih)

# Gr�fico de barras

# Quiero saber si hay diferencia en la mortalidad en pacientes con y sin vih

data3 %>%
ggplot(aes (x=dx_vih, fill = pronostico)) + geom_bar()

# Ahora quiero comparar los porcentajes

data3 %>%
ggplot(aes (x=dx_vih, fill = pronostico)) + geom_bar(position="fill")

# Ahora quiero comparar la mortalidad de pacientes vih y no vih seg�n


# tipo de tuberculosis

data3 %>%
ggplot(aes (x=dx_vih, fill = pronostico)) + geom_bar(position="fill") +
facet_wrap(~ tipo_de_tb)

############################################################################

También podría gustarte