Primeros pasos en el análisis de datos en ciencias de la salud
Author
Agoralab
Published
Invalid Date
Introducción a R, RStudio y Quarto
Bienvenida al programa
Bienvenidos al programa semestral de Análisis de Datos con R para Ciencias de la Salud. Durante las próximas 14 semanas, desarrollaremos habilidades prácticas para analizar datos en investigación en salud utilizando R como herramienta principal.
Este programa está diseñado específicamente para estudiantes de doctorado e investigadores en ciencias de la salud, con un enfoque práctico y aplicaciones concretas en el campo.
Tip
No se requiere experiencia previa en programación para seguir este curso. Comenzaremos desde lo más básico y progresaremos gradualmente.
Objetivos de la sesión
Al finalizar esta primera sesión, serás capaz de:
Comprender qué es R y por qué es útil en ciencias de la salud
Instalar y configurar correctamente R, RStudio y Quarto
Familiarizarte con la interfaz de RStudio
Ejecutar comandos básicos en la consola de R
Crear un primer documento Quarto que combine texto y código
Entender el concepto de “programación literaria” (literate programming)
¿Qué es R y por qué usarlo en investigación en salud?
R es un lenguaje de programación y entorno para análisis estadístico y visualización de datos. Algunas razones por las que R es ideal para investigación en salud:
Software libre y de código abierto: No hay costos de licencia
Comunidad activa: Miles de paquetes específicos para ciencias de la salud
Reproducibilidad: Permite documentar cada paso del análisis
Flexibilidad: Desde estadísticas básicas hasta análisis genómicos complejos
Visualización: Capacidades avanzadas de visualización de datos
Integración: Con otros sistemas y tecnologías (bases de datos, sistemas de ML, etc.)
R se ha convertido en una herramienta esencial en epidemiología, ensayos clínicos, análisis de datos genómicos, meta-análisis y muchas otras áreas de investigación en salud.
Diferencias entre R y otros softwares estadísticos
A diferencia de paquetes comerciales como SPSS o SAS, R requiere escribir código en lugar de usar interfaces gráficas. Aunque la curva de aprendizaje inicial puede ser más pronunciada, la capacidad de script ofrece mayor reproducibilidad y automatización. Además, R no tiene costos de licencia, lo que permite a cualquier investigador replicar tus análisis sin barreras económicas.
Instalación y configuración
Instalación de R
R es el motor de cálculo estadístico. Para instalar R:
Las versiones más recientes de RStudio (2022.07 o superior) ya incluyen Quarto integrado, así que es posible que no necesites instalarlo por separado.
La diferencia entre R, RStudio y Quarto
Para entender mejor estos componentes, puedes pensar en esta analogía: - R es como el motor de un coche - realiza todos los cálculos y el trabajo pesado. - RStudio es como el tablero y los controles - proporciona una interfaz amigable para manejar R. - Quarto es como una guía de viaje - te permite documentar tu recorrido combinando explicaciones, mapas (visualizaciones) y detalles de cada parada (análisis).
La interfaz de RStudio
RStudio tiene cuatro paneles principales:
Editor de código (superior izquierda): Donde escribes y editas scripts de R
Consola (inferior izquierda): Donde se ejecuta el código y se muestran los resultados
Entorno/Historial (superior derecha): Muestra las variables y objetos en memoria
Archivos/Gráficos/Ayuda/Paquetes (inferior derecha): Múltiples funciones como navegación de archivos, visualización de gráficos, documentación y gestión de paquetes
Interfaz de RStudio
Primeros pasos en R
La consola de R
La consola de R es donde podemos ejecutar comandos directamente. Probemos algunos comandos básicos:
Code
# Esto es un comentario en R (las líneas que comienzan con # no se ejecutan)# R como calculadora2+3# Suma
[1] 5
Code
10/2# División
[1] 5
Code
3*4# Multiplicación
[1] 12
Code
2^3# Potencia (2 elevado a 3)
[1] 8
Code
# Crear variables usando el operador de asignación (<-)mi_numero<-42mi_numero
[1] 42
Code
# Crear un vector (colección de valores)edades<-c(25, 30, 35, 40, 45)edades
[1] 25 30 35 40 45
Code
# Calcular estadísticas básicasmean(edades)# Media
En R, el operador principal de asignación es <- en lugar de = (aunque este último también funciona). Se recomienda usar <- por convención y claridad, ya que = también se usa para asignar valores a argumentos en funciones.
# Recomendadox<-10# No es incorrecto, pero menos preferido en el estilo de código Rx=10
Tipos de datos básicos en R
R tiene varios tipos de datos fundamentales. Aquí algunos ejemplos:
Quarto es un sistema de publicación científica y técnica de código abierto basado en Pandoc. Permite crear documentos dinámicos que combinan:
Texto narrativo (con formato Markdown)
Código R (u otros lenguajes)
Resultados de la ejecución del código (tablas, gráficos, etc.)
Ecuaciones matemáticas
Citas y referencias bibliográficas
¿Por qué usar Quarto en lugar de Word para informes científicos?
Los documentos Quarto ofrecen varias ventajas sobre los procesadores de texto tradicionales para la investigación:
Reproducibilidad: El análisis y los resultados se generan directamente del código, evitando errores de transcripción.
Actualización automática: Si los datos cambian, solo necesitas volver a renderizar el documento para actualizar todos los análisis y figuras.
Control de versiones: Al ser archivos de texto plano, se pueden gestionar fácilmente con sistemas como Git.
Múltiples formatos de salida: El mismo documento puede convertirse a HTML, PDF, Word, presentaciones, etc.
El concepto de “programación literaria”
La programación literaria (literate programming) es un enfoque donde combinamos:
Narrativa - explicación en lenguaje natural
Código - instrucciones para el ordenador
Esto permite:
Documentar el proceso de análisis paso a paso
Explicar la lógica y decisiones tomadas
Presentar los resultados de forma clara
Facilitar la reproducibilidad de la investigación
Estructura de un documento Quarto
Un documento Quarto (.qmd) tiene tres componentes principales:
YAML Header: Metadatos al inicio del documento
Texto narrativo: Explicaciones, interpretaciones (en formato Markdown)
Bloques de código: Fragmentos de código R que se pueden ejecutar
¿Qué es YAML?
YAML (YAML Ain’t Markup Language) es un formato de serialización de datos legible por humanos. En Quarto, el encabezado YAML se usa para definir metadatos y opciones de configuración del documento. Se coloca al principio del archivo, delimitado por tres guiones --- al inicio y al final.
Veamos un ejemplo simplificado:
---title: "Análisis de datos de pacientes"author: "Investigador"date: "2025-03-05"---# IntroducciónEste análisis examina datos de pacientes con hipertensión.## Carga de datosPrimero, cargamos los datos:```{r}# Crear datos de ejemplopacientes <- data.frame( id = 1:5, edad = c(45, 52, 67, 38, 71), presion_sistolica = c(120, 135, 142, 118, 155))# Mostrar los datospacientes
Análisis descriptivo
Calculamos estadísticas básicas:
```{r}# Media y desviación estándar de la presiónmean(pacientes$presion_sistolica)sd(pacientes$presion_sistolica)```
### Creando nuestro primer documento QuartoAhora crearemos nuestro primer documento Quarto:1. En RStudio, ve a File → New File → Quarto Document2. Completa los detalles básicos (título, autor)3. Elige formato HTML y haz clic en "Create"Se creará un documento plantilla que puedes modificar. Para renderizar (compilar) el documento:- Haz clic en el botón "Render" en la barra de herramientas- Usa el atajo de teclado Ctrl+Shift+K (Windows/Linux) o Cmd+Shift+K (Mac)::: {.callout-warning}## Errores comunes al comenzar con QuartoSi al renderizar tu documento encuentras errores, verifica:1. **Sintaxis del YAML**: El formato debe ser preciso, con la indentación correcta.2. **Comillas en texto**: Si tu texto narrativo incluye comillas, asegúrate de que estén balanceadas.3. **Bloques de código**: Verifica que tus bloques de código R estén correctamente definidos con tres backticks y la especificación `{r}`.4. **Paquetes faltantes**: Si tu código usa paquetes que no has instalado, los necesitarás para renderizar el documento.:::## Ejercicio prácticoVamos a crear un pequeño documento Quarto que incluya:1. Una breve introducción personal2. Tu formación y área de interés en ciencias de la salud3. Un ejemplo simple de código R que calcule alguna estadística básica### Plantilla para el ejercicioPuedes usar esta plantilla como punto de partida:```markdown---title: "Mi primer documento Quarto"author: "Tu Nombre"date: "2025-03-05"format: html---## Sobre mí[Escribe una breve introducción sobre ti]## Mi formación y área de interés[Describe tu formación académica y área de interés en ciencias de la salud]## Mi primer análisis con RA continuación, un pequeño análisis de datos:```{r}# Crear datos de ejemplo (puedes modificar estos valores)edades <- c(25, 30, 35, 40, 45, 50, 55)# Calcular estadísticas básicasmedia_edad <- mean(edades)mediana_edad <- median(edades)desv_std <- sd(edades)# Mostrar resultadoscat("Media de edad:", media_edad, "\n")cat("Mediana de edad:", mediana_edad, "\n")cat("Desviación estándar:", desv_std, "\n")
Reflexión
[Comparte tus expectativas sobre este curso y cómo crees que R puede ayudarte en tu investigación]
## Recursos adicionales
Para profundizar en los temas vistos hoy:
- [R for Data Science](https://r4ds.had.co.nz/) - Libro fundamental para aprender R moderno
- [Documentación oficial de Quarto](https://quarto.org/docs/guide/) - Guía completa de Quarto
- [RStudio Cheatsheets](https://www.rstudio.com/resources/cheatsheets/) - Hojas de referencia rápida
- [R para Ciencia de Datos](https://es.r4ds.hadley.nz/) - Versión en español del libro R for Data Science
## Para la próxima sesión
En la próxima sesión profundizaremos en los tipos de datos y estructuras fundamentales en R:
- Vectores, matrices y data frames
- Operaciones básicas y funciones
- Indexación y selección de elementos
Prepárate instalando los siguientes paquetes:
::: {.cell}
```{.r .cell-code}
install.packages(c("tidyverse", "here", "rmarkdown"))
:::
Conclusiones
En esta primera sesión hemos:
Comprendido la importancia de R en investigación en salud
Configurado nuestro entorno de trabajo
Explorado la interfaz de RStudio
Ejecutado nuestros primeros comandos en R
Creado un documento Quarto básico
Entendido el concepto de programación literaria
Estamos listos para adentrarnos en el análisis de datos con R aplicado a ciencias de la salud. ¡Nos vemos en la próxima sesión!
Source Code
---title: "Semana 1: Introducción a R, RStudio y Quarto"subtitle: "Primeros pasos en el análisis de datos en ciencias de la salud"author: "Agoralab"date: "5 de marzo, 2025"format: html: toc: true code-fold: show code-tools: true df-print: paged code-link: trueexecute: warning: false message: false---# Introducción a R, RStudio y Quarto## Bienvenida al programaBienvenidos al programa semestral de Análisis de Datos con R para Ciencias de la Salud. Durante las próximas 14 semanas, desarrollaremos habilidades prácticas para analizar datos en investigación en salud utilizando R como herramienta principal. Este programa está diseñado específicamente para estudiantes de doctorado e investigadores en ciencias de la salud, con un enfoque práctico y aplicaciones concretas en el campo.::: {.callout-tip}No se requiere experiencia previa en programación para seguir este curso. Comenzaremos desde lo más básico y progresaremos gradualmente.:::## Objetivos de la sesiónAl finalizar esta primera sesión, serás capaz de:1. Comprender qué es R y por qué es útil en ciencias de la salud2. Instalar y configurar correctamente R, RStudio y Quarto3. Familiarizarte con la interfaz de RStudio4. Ejecutar comandos básicos en la consola de R5. Crear un primer documento Quarto que combine texto y código6. Entender el concepto de "programación literaria" (literate programming)## ¿Qué es R y por qué usarlo en investigación en salud?R es un lenguaje de programación y entorno para análisis estadístico y visualización de datos. Algunas razones por las que R es ideal para investigación en salud:- **Software libre y de código abierto**: No hay costos de licencia- **Comunidad activa**: Miles de paquetes específicos para ciencias de la salud- **Reproducibilidad**: Permite documentar cada paso del análisis- **Flexibilidad**: Desde estadísticas básicas hasta análisis genómicos complejos- **Visualización**: Capacidades avanzadas de visualización de datos- **Integración**: Con otros sistemas y tecnologías (bases de datos, sistemas de ML, etc.)R se ha convertido en una herramienta esencial en epidemiología, ensayos clínicos, análisis de datos genómicos, meta-análisis y muchas otras áreas de investigación en salud.::: {.callout-note}## Diferencias entre R y otros softwares estadísticosA diferencia de paquetes comerciales como SPSS o SAS, R requiere escribir código en lugar de usar interfaces gráficas. Aunque la curva de aprendizaje inicial puede ser más pronunciada, la capacidad de script ofrece mayor reproducibilidad y automatización. Además, R no tiene costos de licencia, lo que permite a cualquier investigador replicar tus análisis sin barreras económicas.:::## Instalación y configuración### Instalación de RR es el motor de cálculo estadístico. Para instalar R:1. Visita [CRAN](https://cran.r-project.org/)2. Selecciona tu sistema operativo (Windows, Mac o Linux)3. Sigue las instrucciones de instalación### Instalación de RStudioRStudio es un entorno de desarrollo integrado (IDE) que facilita el uso de R. Para instalar RStudio:1. Visita [Posit](https://posit.co/download/rstudio-desktop/)2. Descarga la versión gratuita de RStudio Desktop3. Instala siguiendo las instrucciones### Instalación de QuartoQuarto es un sistema para crear documentos técnicos y científicos que combinan texto, código y resultados. Para instalar Quarto:1. Visita [Quarto](https://quarto.org/docs/get-started/)2. Descarga la versión para tu sistema operativo3. Sigue las instrucciones de instalación::: {.callout-note}Las versiones más recientes de RStudio (2022.07 o superior) ya incluyen Quarto integrado, así que es posible que no necesites instalarlo por separado.:::::: {.callout-tip}## La diferencia entre R, RStudio y QuartoPara entender mejor estos componentes, puedes pensar en esta analogía:- **R** es como el motor de un coche - realiza todos los cálculos y el trabajo pesado.- **RStudio** es como el tablero y los controles - proporciona una interfaz amigable para manejar R.- **Quarto** es como una guía de viaje - te permite documentar tu recorrido combinando explicaciones, mapas (visualizaciones) y detalles de cada parada (análisis).:::## La interfaz de RStudioRStudio tiene cuatro paneles principales:1. **Editor de código** (superior izquierda): Donde escribes y editas scripts de R2. **Consola** (inferior izquierda): Donde se ejecuta el código y se muestran los resultados3. **Entorno/Historial** (superior derecha): Muestra las variables y objetos en memoria4. **Archivos/Gráficos/Ayuda/Paquetes** (inferior derecha): Múltiples funciones como navegación de archivos, visualización de gráficos, documentación y gestión de paquetes## Primeros pasos en R### La consola de RLa consola de R es donde podemos ejecutar comandos directamente. Probemos algunos comandos básicos:```{r}# Esto es un comentario en R (las líneas que comienzan con # no se ejecutan)# R como calculadora2+3# Suma10/2# División3*4# Multiplicación2^3# Potencia (2 elevado a 3)# Crear variables usando el operador de asignación (<-)mi_numero <-42mi_numero# Crear un vector (colección de valores)edades <-c(25, 30, 35, 40, 45)edades# Calcular estadísticas básicasmean(edades) # Mediamedian(edades) # Medianasd(edades) # Desviación estándar```::: {.callout-important}## Sobre el operador de asignaciónEn R, el operador principal de asignación es `<-` en lugar de `=` (aunque este último también funciona). Se recomienda usar `<-` por convención y claridad, ya que `=` también se usa para asignar valores a argumentos en funciones.```r# Recomendadox <-10# No es incorrecto, pero menos preferido en el estilo de código Rx =10```:::### Tipos de datos básicos en RR tiene varios tipos de datos fundamentales. Aquí algunos ejemplos:```{r}# Numéricopeso <-68.5class(peso)# Carácter (texto)nombre <-"Paciente"class(nombre)# Lógico (TRUE/FALSE)tiene_diabetes <-FALSEclass(tiene_diabetes)# Vector (todos los elementos del mismo tipo)presion_sistolica <-c(120, 135, 142, 118, 125)class(presion_sistolica)# Factor (variable categórica)sexo <-factor(c("M", "F", "F", "M", "F"))class(sexo)levels(sexo) # Niveles/categorías```## Introducción a Quarto### ¿Qué es Quarto?Quarto es un sistema de publicación científica y técnica de código abierto basado en [Pandoc](https://pandoc.org/). Permite crear documentos dinámicos que combinan:- Texto narrativo (con formato Markdown)- Código R (u otros lenguajes)- Resultados de la ejecución del código (tablas, gráficos, etc.)- Ecuaciones matemáticas- Citas y referencias bibliográficas::: {.callout-tip}## ¿Por qué usar Quarto en lugar de Word para informes científicos?Los documentos Quarto ofrecen varias ventajas sobre los procesadores de texto tradicionales para la investigación:1. **Reproducibilidad**: El análisis y los resultados se generan directamente del código, evitando errores de transcripción.2. **Actualización automática**: Si los datos cambian, solo necesitas volver a renderizar el documento para actualizar todos los análisis y figuras.3. **Control de versiones**: Al ser archivos de texto plano, se pueden gestionar fácilmente con sistemas como Git.4. **Múltiples formatos de salida**: El mismo documento puede convertirse a HTML, PDF, Word, presentaciones, etc.:::### El concepto de "programación literaria"La programación literaria (literate programming) es un enfoque donde combinamos:- **Narrativa** - explicación en lenguaje natural- **Código** - instrucciones para el ordenadorEsto permite:1. Documentar el proceso de análisis paso a paso2. Explicar la lógica y decisiones tomadas3. Presentar los resultados de forma clara4. Facilitar la reproducibilidad de la investigación### Estructura de un documento QuartoUn documento Quarto (.qmd) tiene tres componentes principales:1. **YAML Header**: Metadatos al inicio del documento2. **Texto narrativo**: Explicaciones, interpretaciones (en formato Markdown)3. **Bloques de código**: Fragmentos de código R que se pueden ejecutar::: {.callout-note}## ¿Qué es YAML?YAML (YAML Ain't Markup Language) es un formato de serialización de datos legible por humanos. En Quarto, el encabezado YAML se usa para definir metadatos y opciones de configuración del documento. Se coloca al principio del archivo, delimitado por tres guiones `---` al inicio y al final.:::Veamos un ejemplo simplificado:```markdown---title: "Análisis de datos de pacientes"author: "Investigador"date: "2025-03-05"---# IntroducciónEste análisis examina datos de pacientes con hipertensión.## Carga de datosPrimero, cargamos los datos:```{r}# Crear datos de ejemplopacientes <- data.frame( id = 1:5, edad = c(45, 52, 67, 38, 71), presion_sistolica = c(120, 135, 142, 118, 155))# Mostrar los datospacientes```## Análisis descriptivoCalculamos estadísticas básicas:```{r}# Media y desviación estándar de la presiónmean(pacientes$presion_sistolica)sd(pacientes$presion_sistolica)``````### Creando nuestro primer documento QuartoAhora crearemos nuestro primer documento Quarto:1. En RStudio, ve a File → New File → Quarto Document2. Completa los detalles básicos (título, autor)3. Elige formato HTML y haz clic en "Create"Se creará un documento plantilla que puedes modificar. Para renderizar (compilar) el documento:- Haz clic en el botón "Render" en la barra de herramientas- Usa el atajo de teclado Ctrl+Shift+K (Windows/Linux) o Cmd+Shift+K (Mac)::: {.callout-warning}## Errores comunes al comenzar con QuartoSi al renderizar tu documento encuentras errores, verifica:1. **Sintaxis del YAML**: El formato debe ser preciso, con la indentación correcta.2. **Comillas en texto**: Si tu texto narrativo incluye comillas, asegúrate de que estén balanceadas.3. **Bloques de código**: Verifica que tus bloques de código R estén correctamente definidos con tres backticks y la especificación `{r}`.4. **Paquetes faltantes**: Si tu código usa paquetes que no has instalado, los necesitarás para renderizar el documento.:::## Ejercicio prácticoVamos a crear un pequeño documento Quarto que incluya:1. Una breve introducción personal2. Tu formación y área de interés en ciencias de la salud3. Un ejemplo simple de código R que calcule alguna estadística básica### Plantilla para el ejercicioPuedes usar esta plantilla como punto de partida:```markdown---title: "Mi primer documento Quarto"author: "Tu Nombre"date: "2025-03-05"format: html---## Sobre mí[Escribe una breve introducción sobre ti]## Mi formación y área de interés[Describe tu formación académica y área de interés en ciencias de la salud]## Mi primer análisis con RA continuación, un pequeño análisis de datos:```{r}# Crear datos de ejemplo (puedes modificar estos valores)edades <- c(25, 30, 35, 40, 45, 50, 55)# Calcular estadísticas básicasmedia_edad <- mean(edades)mediana_edad <- median(edades)desv_std <- sd(edades)# Mostrar resultadoscat("Media de edad:", media_edad, "\n")cat("Mediana de edad:", mediana_edad, "\n")cat("Desviación estándar:", desv_std, "\n")```## Reflexión[Comparte tus expectativas sobre este curso y cómo crees que R puede ayudarte en tu investigación]```## Recursos adicionalesPara profundizar en los temas vistos hoy:- [R for Data Science](https://r4ds.had.co.nz/) - Libro fundamental para aprender R moderno- [Documentación oficial de Quarto](https://quarto.org/docs/guide/) - Guía completa de Quarto- [RStudio Cheatsheets](https://www.rstudio.com/resources/cheatsheets/) - Hojas de referencia rápida- [R para Ciencia de Datos](https://es.r4ds.hadley.nz/) - Versión en español del libro R for Data Science## Para la próxima sesiónEn la próxima sesión profundizaremos en los tipos de datos y estructuras fundamentales en R:- Vectores, matrices y data frames- Operaciones básicas y funciones- Indexación y selección de elementosPrepárate instalando los siguientes paquetes:```{r, eval=FALSE, message=FALSE, warning=FALSE}install.packages(c("tidyverse", "here", "rmarkdown"))```## ConclusionesEn esta primera sesión hemos:- Comprendido la importancia de R en investigación en salud- Configurado nuestro entorno de trabajo- Explorado la interfaz de RStudio- Ejecutado nuestros primeros comandos en R- Creado un documento Quarto básico- Entendido el concepto de programación literariaEstamos listos para adentrarnos en el análisis de datos con R aplicado a ciencias de la salud. ¡Nos vemos en la próxima sesión!