setwd("C:/Users/layza/OneDrive/Documents/ESTA5504-0U1/examen grupal")
library(readxl)
library(printr)
library(dplyr)
library(readr)
library(ggplot2)
library(plotly)
library(DT)
hospital_a <- read_csv("hospital_a.csv")
hospital_b <- read_csv("hospital_b.csv")
datos<- bind_rows(hospital_a, hospital_b)
datatable(datos, options = list(pageLength = 5, lengthMenu = c(5, 10, 15)))
library(readr)
claves <- read_csv("claves_aleatorizacion.csv")
datos <- datos %>%
left_join(claves, by = "CLAVE")
datatable(datos, options = list(pageLength = 5, lengthMenu = c(5, 10, 15)))
skimr::skim(datos)
| Name | datos |
| Number of rows | 100 |
| Number of columns | 13 |
| _______________________ | |
| Column type frequency: | |
| character | 4 |
| numeric | 9 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| NOMBRE | 0 | 1 | 3 | 3 | 0 | 98 | 0 |
| F NACIM | 0 | 1 | 8 | 10 | 0 | 100 | 0 |
| F INCLUS | 0 | 1 | 8 | 10 | 0 | 96 | 0 |
| FARMACO | 0 | 1 | 4 | 26 | 0 | 3 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| CLAVE | 0 | 1 | 50.50 | 29.01 | 1 | 25.75 | 50.5 | 75.25 | 100 | ▇▇▇▇▇ |
| SEXO | 0 | 1 | 0.46 | 0.50 | 0 | 0.00 | 0.0 | 1.00 | 1 | ▇▁▁▁▇ |
| ALTURA | 0 | 1 | 167.78 | 10.38 | 146 | 159.00 | 167.0 | 175.00 | 194 | ▂▇▇▅▂ |
| PESO | 0 | 1 | 73.33 | 16.65 | 39 | 62.00 | 73.0 | 85.00 | 116 | ▃▇▇▅▂ |
| ESTRES | 0 | 1 | 24.38 | 10.46 | 4 | 17.00 | 24.0 | 31.25 | 65 | ▅▇▆▁▁ |
| PAD INI | 0 | 1 | 88.42 | 8.02 | 70 | 82.00 | 89.0 | 94.00 | 108 | ▂▇▇▇▂ |
| PAD FIN | 0 | 1 | 86.66 | 18.01 | 42 | 73.75 | 87.0 | 102.00 | 135 | ▂▇▇▇▁ |
| PAS INI | 0 | 1 | 152.52 | 15.13 | 108 | 143.00 | 152.0 | 162.00 | 192 | ▁▃▇▆▁ |
| PAS FIN | 0 | 1 | 149.86 | 16.63 | 114 | 139.75 | 151.5 | 161.00 | 193 | ▃▆▇▃▁ |
Se puede observar que tenemos un dataframe que contiene 100 filas y 13 columnas. Tenemos 4 columnas tipo “Character”y 9 tipo “numeric”. Se observan 0 datos faltantes. La mayoria de los histogramas son simetricos que quiere decir que los datos proporcionados se distribuyen de manera uniforme a ambos lados del punto central.
names(datos)
## [1] "CLAVE" "NOMBRE" "F NACIM" "F INCLUS" "SEXO" "ALTURA"
## [7] "PESO" "ESTRES" "PAD INI" "PAD FIN" "PAS INI" "PAS FIN"
## [13] "FARMACO"
colnames(datos) <- c("CLAVE", "NOMBRE", "NACIMIENTO", "INCLUSION", "SEXO", "ALTURA", "PESO", "ESTRES","DIASTOLICA_INICIAL", "DIASTOLICA_FINAL", "SISTOLICA_INICIAL", "SISTOLICA_FINAL", "FARMACO")
datos <- datos %>%
mutate(SEXO = as.character(SEXO))
class(datos$SEXO)
## [1] "character"
datos <- datos %>%
mutate(across(.cols = c(SEXO, NOMBRE, NACIMIENTO, INCLUSION, FARMACO), .fns=as.factor))
class(datos$SEXO)
## [1] "factor"
class(datos$NOMBRE)
## [1] "factor"
class(datos$NACIMIENTO)
## [1] "factor"
class(datos$INCLUSION)
## [1] "factor"
class(datos$FARMACO)
## [1] "factor"
datos <- datos %>%
mutate(EVOLUCION_DIASTOLICA = DIASTOLICA_FINAL - DIASTOLICA_INICIAL,
EVOLUCION_SISTOLICA = SISTOLICA_FINAL - SISTOLICA_INICIAL)
datatable(datos, options = list(pageLength = 5, lengthMenu = c(5, 10, 15)))
datos <- datos %>%
mutate(COMPORTAMIENTO_D =ifelse(EVOLUCION_DIASTOLICA<0,"disminuyo", "aumento")) %>%
mutate(COMPORTAMIENTO_S =ifelse(EVOLUCION_SISTOLICA<0,"disminuyo", "aumento"))
datatable(datos, options = list(pageLength = 5, lengthMenu = c(5, 10, 15)))
library(knitr)
library(kableExtra)
resumen_hombres <- datos %>%
filter(SEXO == 0) %>%
summarise(media_altura = mean(ALTURA),
media_peso = mean(PESO),
media_estres = mean(ESTRES))
resumen_mujeres <- datos %>%
filter(SEXO == 1) %>%
summarise(media_altura = mean(ALTURA),
media_peso = mean(PESO),
media_estres = mean(ESTRES))
kable(resumen_hombres, caption = "Resumen para hombres") %>%
kable_styling(full_width = FALSE)
| media_altura | media_peso | media_estres |
|---|---|---|
| 169.1111 | 75.16667 | 23.14815 |
Para este trabajo se pudo observar que el hombre promedio en este grupo tienen una altura promedio de 169.11 cm, un peso promedio de 75.17 kg y un nivel de estrés promedio de 23.15.
```r
kable(resumen_mujeres, caption = "Resumen para mujeres") %>%
kable_styling(full_width = FALSE)
| media_altura | media_peso | media_estres |
|---|---|---|
| 166.2174 | 71.17391 | 25.83152 |
Para este trabajo se pudo observar que la mujer promedio en este grupo tienen una altura promedio de 166.22 cm, un peso promedio de 71.17 kg y un nivel de estrés promedio de 25.832.
Comparando estos dos resumenes, se puede concluir que, en promedio, los hombres en este grupo tienden a ser ligeramente más altos y pesados que las mujeres. Además, parece haber una diferencia en los niveles de estrés promedio entre hombres y mujeres. (las mujeres parecen tener mas estres)
grafico_interactivo <- ggplot(datos, aes(x = ALTURA, y = PESO, color = SEXO)) +
geom_point() +
labs(title = "Diferencias por sexo",
x = "ALTURA",
y = "PESO",
color = "SEXO") +
theme_minimal()
grafico_interactivo <- ggplotly(grafico_interactivo)
grafico_interactivo
En el gráfico, se puede observar la altura en el eje x y el peso en el eje y, diferenciando los datos por sexo. Se aprecia que la distribución de los datos no sigue una tendencia lineal clara. Además, se observa una considerable superposición entre los datos de hombres y mujeres en la gráfica. Aunque no se identifican valores atípicos de manera evidente, se nota un punto correspondiente a un hombre que está ligeramente más alejado del resto de los datos.
plot_ly(datos, x = ~ALTURA, y = ~PESO, z = ~FARMACO,
color = ~SEXO, colors = c('#8EE5EE', '#EE6AA7'),
marker = list(size = 7, opacity = 0.7),
type = 'scatter3d', mode = 'markers')
En la segunda gráfica, podemos apreciar que fármaco genera aproximadamente una línea recta en relación con el peso de los pacientes. Esta representación también incorpora el sexo de los pacientes, junto con la altura y, por supuesto, el fármaco administrado. Se presenta que el IECA tiene una relación más consistente y predecible con la variable sexo, peso y altura.
Tras analizar los resultados obtenidos, se puede concluir que la mayoría de los fármacos contribuyeron a la disminución de la presión arterial diastólica y sistólica.Lo que pudimos observar fue que el IECA tiene un efecto más uniforme en comparación con los otros medicamentos, que pueden tener efectos más variables o menos predecibles. Por tal razon concluimos que la opción más efectiva fue el fármaco IECA, ya que en la gran mayoría de los casos, ayudó a reducir tanto la presión diastólica como la presión sistólica.