Tarea 3 - Grupo 002
Fecha y hora límite de entrega
Miércoles 15 de mayo de 2024, 8:00 a.m.
Descripción general
Esta tarea consiste en desarrollar un documento Quarto con bloques de código en R que utilicen funciones de Tidyverse para consultar un conjunto de datos y presentar los resultados en formato de tablas. El documento debe publicarse como una página web en GitHub Pages.
Objetivos
Cada estudiante debe mostrar que es capaz de:
- Escribir código fuente en el lenguaje de programación R y utilizar funciones de la colección de paquetes de Tidyverse para leer datos, procesarlos y generar visualizaciones en forma de tablas.
- Escribir documentos en el sistema de publicación científica y técnica Quarto que combinen narrativa en Markdown con bloques de código en R.
- Publicar documentos Quarto como páginas web en GitHub Pages.
- Analizar y corregir errores de programación.
Acerca del conjunto de datos
El conjunto de datos de esta tarea consiste de 299 registros de pacientes que sufrieron insuficiencia cardíaca. Para cada paciente, se consideran 13 características clínicas (edad, sexo, si tenía anemia, si tenía diabetes, si fumaba y otras). Estos datos forman parte del artículo Chicco, D., Jurman, G. Machine learning can predict survival of patients with heart failure from serum creatinine and ejection fraction alone. BMC Med Inform Decis Mak 20, 16 (2020). Se recomienda leer el resumen (abstract) del artículo.
El archivo CSV con los datos está disponible en la dirección https://github.com/gf0604-procesamientodatosgeograficos/2024-i/blob/main/datos/bmc/heart_failure_clinical_records_dataset.csv.
Para más información sobre las variables del conjunto de datos, su significado y sus unidades de medida, puede consultar Meanings, measurement units, and intervals of each feature of the dataset.
NOTA: hay varias variables booleanas con valor 0
o 1
. 0
significa falso (no) y 1
significa verdadero (sí). Por ejemplo, para anaemia
un valor de 1
significa que el paciente sí tuvo anemia y un valor de 0
significa que no tuvo anemia. En el caso de sex
, un 0
corresponde a una mujer y un 1
a un hombre.
Entregables
Debe entregar dos direcciones web:
- Dirección de un repositorio en GitHub (ej. https://github.com/mfvargas/insuficiencia-cardiaca) con el código fuente y los datos. Específicamente, el repositorio debe contener:
- Un documento Quarto llamado
index.qmd
con el código en R y la sintaxis Markdown necesarios para generar las salidas especificadas en la sección Desarrollo. - Un documento llamado
index.html
generado a partir deindex.qmd
. - El archivo de datos
heart_failure_clinical_records_dataset.csv
. - El directorio
index_files
.
- Un documento Quarto llamado
- Dirección de un sitio web en GitHub Pages publicado a partir del repositorio GitHub del punto 1 (ej. https://mfvargas.github.io/insuficiencia-cardiaca/).
La entrega debe realizarse a través de la plataforma Mediación Virtual.
Desarrollo
El documento Quarto debe cumplir con las siguientes características generales:
- En general, debe estar ordenado y bien presentado (incluyendo la redacción y la ortografía).
- Debe tener una tabla de contenidos.
- El lenguaje del documento debe ser español.
- Debe utilizar un estilo (theme) de Quarto para HTML.
El documento debe contener las siguientes secciones:
1 - Introducción
Breve explicación del contenido del documento (uno o dos párrafos) y mención de la fuente de los datos originales: el enlace al artículo de Chicco y Jurman.
2 - Carga de paquetes
Bloque de código en R para cargar los paquetes.
3 - Carga de datos
Bloque de código en R para cargar los datos.
4 - Consultas
Debe escribir cuatro bloques de código en R que consulten el conjunto de datos y presenten los resultados en tablas. Los bloques de código en R deben utilizar funciones del paquete dplyr
de Tidyverse (select()
, filter()
, mutate()
, arrange()
, group_by()
, summarize()
y otras). Las tablas deben generarse mediante la función kable()
del paquete knitr
.
En cada caso, debe mostrarse el bloque de código y la tabla que muestra los resultado de la consulta, como se ejemplifica en la siguiente figura:
Consulta 1
Tabla que para los hombres mayores de 70 años, diabéticos y no anémicos muestre, en orden descendente de edad, las columnas correspondientes a:
- Sexo
- Edad
- Diabetes
- Anemia
- Presión arterial alta
Consulta 2
Tabla que muestre para todas las mujeres con fracción de eyección entre 20 (inclusive) y 25 (inclusive), en orden descendente de fracción de eyección, las columnas correspondientes a:
- Sexo
- Fracción de eyección
- Anemia
- Diabetes
Consulta 3
Tabla que muestre el promedio de creatinina sérica de pacientes sobrevivientes y de pacientes fallecidos.
Consulta 4
Tabla que muestre el valor máximo de creatinina sérica de las mujeres que son anémicas o diabéticas.
Calificación
- Presentación general del documento (uso de un tema, tabla de contenidos, lenguaje, orden, redacción): 20%
- Consulta 1: 20%
- Consulta 2: 20%
- Consulta 3: 20%
- Consulta 4: 20%
Consideraciones adicionales
- Esta tarea puede presentarse individualmente o en parejas. En este último caso, solo un estudiante debe presentar la tarea en Mediación Virtual y debe indicar ahí el nombre del otro estudiante.
- Si solo se entrega la dirección del repositorio en GitHub, y no el sitio publicado o este no es consistente con el código fuente del repositorio, se rebajará el 25% del valor de la tarea. RECOMENDACIÓN: genere el sitio web desde el inicio y actualícelo continuamente. No lo deje para última hora.
- No se aceptarán tareas que se entreguen después de la fecha y hora límite.