R para Ciencia de Datos de Salud

Author

Ewen Harrison y Riinu Pius / traducido&reproducido por A.Carolina Ledezma-Carrizalez

Capítulo 1 ¿Por qué amamos a R?

Gracias por elegir este libro sobre el uso de R para el análisis de datos de salud. Incluso si ya está familiarizado con el lenguaje R, esperamos que encuentre algunos enfoques nuevos aquí, ya que aprovechamos al máximo las herramientas R más recientes, incluidas algunas que hemos desarrollado nosotros mismos. Se anima a aquellos que ya están familiarizados con R a seguir hojeando los primeros capítulos para familiarizarse con el estilo de R que recomendamos.

R se puede usar para todas las aplicaciones de ciencia de datos de salud que se nos ocurran. Desde la bioinformática y la biología computacional hasta el análisis de datos administrativos y el procesamiento del lenguaje natural, pasando por el internet de las cosas y los datos portátiles, hasta el aprendizaje automático y la inteligencia artificial, e incluso la salud pública y la epidemiología. R lo tiene todo.

Estas son las principales razones por las que amamos a R:

  • R es versátil y potente: utilícelo para
  • gráficos;
  • todas las pruebas estadísticas con las que puedas soñar;
  • aprendizaje automático y aprendizaje profundo;
  • informes automatizados;
  • sitios web;
  • e incluso libros (sí, este libro fue escrito completamente en R).
  • Los scripts R se pueden reutilizar: le brinda eficiencia y reproducibilidad.
  • Es de uso gratuito para cualquier persona, en cualquier lugar.

1.1 Ayuda, ¿qué es un script?

Un script es una lista de instrucciones. Es solo un archivo de texto y no se requiere ningún software especial para verlo. En la Figura @ ref(fig:chap01-fig-rscript) se muestra un script R de ejemplo.

¡No entres en pánico! Lo único que debe comprender en este punto es que lo que está viendo es una lista de instrucciones escritas en lenguaje R.

También debe notar que algunas partes del guión se ven como un inglés normal.Estas son las líneas que comienzan con un # y se llaman “comentarios”. Podemos (y debemos) incluir estos comentarios en todo lo que hacemos.Estas son notas de lo que estábamos haciendo, tanto para los colegas como para nosotros mismos en el futuro.

Las líneas que no comienzan con # son código R.Aquí es donde realmente sucede el cálculo numérico.Cubriremos los detalles de este código R en los próximos capítulos.El propósito de este capítulo es describir parte de la terminología, así como la interfaz y las herramientas que utilizamos.

Para los impacientes:

  • Interconectamos R usando RStudio
  • Usamos los paquetes tidyverse que son una extensión sustancial de la funcionalidad básica de R (repetimos: extensión, no reemplazo)

Aunque R es un lenguaje, no crea que después de leer este libro debería poder abrir un archivo en blanco y comenzar a escribir el código R como un malvado genio informático de una película. Así no es como se ve la programación del mundo real.

En primer lugar, debe copiar, pegar y adaptar ejemplos de código R existentes, ya sea de este libro, Internet o más adelante de su trabajo existente.Reescribir todo desde cero no es eficiente.Sí, comprenderá y eventualmente recordará gran parte de ella, pero dedicar tiempo a memorizar funciones específicas que se pueden buscar y copiar fácilmente simplemente no es necesario.

En segundo lugar, R es un lenguaje interactivo. Lo que significa que “ejecutamos” el código R línea por línea y obtenemos comentarios inmediatos. No escribimos un guión completo sin probar cada parte a medida que avanzamos.

En tercer lugar, no se preocupe por cometer errores. ¡Celébralos! El punto central de R y la reproducibilidad es que las manipulaciones no se aplican directamente en un conjunto de datos, sino en una copia del mismo.Todo está en un guión, así que no puedes hacer nada malo. Si comete un error, como sobrescribir accidentalmente sus datos, podemos volver a cargarlos, volver a ejecutar los pasos que funcionaron bien y continuar averiguando qué salió mal al final.Y dado que todos estos pasos están escritos en un script, R rehará todo con solo presionar un botón.No tiene que repetir una serie de clics del mouse desde los menús desplegables como en otros paquetes estadísticos, lo que rápidamente se convierte en una bendición.

1.2 ¿Qué es RStudio?

RStudio es un programa gratuito que facilita el trabajo con R.En la Figura @ ref(fig:chap01-fig-rstudio) se muestra una captura de pantalla de ejemplo de RStudio.Ya presentamos lo que se encuentra en el panel superior izquierdo: Script .

Ahora, mire los pequeños botones Ejecutar y Fuente en la esquina superior derecha del panel de secuencias de comandos.Al hacer clic en Ejecutar se ejecuta una línea de código R.Al hacer clic en Fuente se ejecutan todas las líneas de código R en el script (esencialmente es ‘Ejecutar todas las líneas’).Cuando ejecuta el código R, se envía a la Consola , que es el panel inferior izquierdo.Aquí es donde R realmente vive.

Atajos de teclado!
Ejecutar línea: Control+Intro
Ejecutar todas las líneas (Fuente): > Control+Shift+Enter
(En una Mac, tanto el Control como el Comando funcionan)

La Consola es donde R nos habla.Cuando tenemos suerte, obtenemos resultados allí; en este ejemplo, los resultados de una prueba t (última línea del script).Cuando tenemos menos suerte, aquí también aparecen los Errores o Advertencias.

¡Los errores R dan mucho menos miedo de lo que parecen!Sí, si está utilizando un programa de computadora normal en el que todo lo que hace es hacer clic en algunos botones, entonces obtener un error rojo adecuado que detiene todo es bastante inusual.Pero en programación, los errores son solo una forma en que R se comunica con nosotros.

Vemos errores en nuestro propio trabajo todos los días, son muy normales y no significan que todo esté mal o que debas rendirte.Trate de reformular la palabra Error para que signifique “retroalimentación”, como en “Hola, soy R. No puedo continuar, esta es la retroalimentación que le estoy dando”.Los errores más comunes que verá son similares a “Error: algo no encontrado”.Esto casi siempre significa que hay un error tipográfico o que has escrito algo mal.Además, R distingue entre mayúsculas y minúsculas, por lo que las mayúsculas son importantes (el nombre de la variable lifeExp no es lo mismo que lifeexp ).

La consola solo puede imprimir texto, por lo que cualquier gráfico que cree en su secuencia de comandos aparecerá en el panel Gráficos (abajo a la derecha).

De manera similar, los conjuntos de datos que cargó o creó aparecen en la pestaña Entorno.Cuando hace clic en un conjunto de datos, aparece en un bonito visor que es rápido incluso cuando hay muchos datos. Esto significa que puede echar un vistazo y desplazarse por sus filas y columnas, de la misma manera que lo haría con una hoja de cálculo.

1.3 Primeros pasos

Para comenzar a usar R, debe hacer estas dos cosas:

  • Instalar R (desde https://www.r-project.org/)
  • Instale RStudio Desktop (desde https://www.rstudio.com/)

Cuando abra RStudio por primera vez, también querrá instalar algunos paquetes adicionales para ampliar la funcionalidad básica de R. Puede hacerlo en la pestaña Paquetes (junto a la pestaña Gráficos en la parte inferior derecha de la Figura @ ref(fig:chap01-fig-rstudio)).

Un paquete es solo una colección de funciones (comandos) que no están incluidas en la instalación estándar de R, llamada base-R.

Gran parte de la funcionalidad presentada en este libro proviene de la familia tidyverse de paquetes R (http://tidyverse.org @ tidyverse2019 ). Entonces, cuando vaya a Paquetes, haga clic en Instalar , escriba tidyverse y se instalará toda una colección de paquetes útiles y modernos.

Aunque haya instalado los paquetes tidyverse , aún deberá decirle a R cuando esté a punto de usarlos. Incluimos library(tidyverse) en la parte superior de cada script que escribimos:

library(tidyverse)

Podemos ver que ha cargado 8 paquetes (ggplot2,tibble,tidyr ,readr, purrr,dplyr,stringr,forcats), el número detrás del nombre de un paquete es su versión.

Se espera el mensaje “Conflictos” y se puede ignorar con seguridad.1

Hay algunos otros paquetes de R que usamos y no son parte del tidyverse, pero los presentaremos a medida que avanzamos.Si tiene mucha curiosidad, diríjase a la sección Recursos del sitio web de HealthyR, que es el mejor lugar para encontrar enlaces actualizados e instrucciones de instalación. Nuestras versiones R y del paquete también se enumeran en el Apéndice.

1.4 Obtener ayuda

La mejor manera de solucionar los errores de R es copiarlos y pegarlos en un motor de búsqueda (por ejemplo, Google).Buscar en línea también es una excelente manera de aprender cómo hacer cosas nuevas específicas o encontrar ejemplos de código.Debe copiar y pegar soluciones en su secuencia de comandos R para luego modificarlas para que coincidan con lo que está tratando de hacer.Constantemente copiamos código de foros en línea y nuestros propios scripts existentes.

Sin embargo, hay muchas maneras diferentes de lograr lo mismo en R.A veces buscará ayuda y se encontrará con un código R que no se parece en nada a lo que ha visto en este libro.Los paquetes tidyverse son relativamente nuevos y usan la tubería ( %>% ), algo a lo que llegaremos.Pero los motores de búsqueda a menudo darán prioridad a los resultados más antiguos que utilizan un enfoque más tradicional.

Por lo tanto, las soluciones más antiguas pueden aparecer en la parte superior.No se desanime si ve un código R que se ve completamente diferente a lo que esperaba. Simplemente siga desplazándose hacia abajo o haciendo clic en diferentes respuestas hasta que encuentre algo que le parezca un poco más familiar.

Si está trabajando sin conexión, entonces la pestaña Ayuda incorporada de RStudio es útil. Para usar la pestaña Ayuda, haga clic con el cursor en algo en su código (por ejemplo, read_csv() ) y presione F1.Esto le mostrará la definición y algunos ejemplos. F1 puede ser difícil de encontrar en algunos teclados, una alternativa es escribir, por ejemplo, ?read_csv .Esto también abrirá la pestaña Ayuda para esta función.

Sin embargo, la pestaña Ayuda solo es útil si ya sabe lo que está buscando pero no puede recordar exactamente cómo funciona.Para encontrar ayuda sobre cosas que no ha usado antes, lo mejor es buscarlo en Google.

R tiene alrededor de 2 millones de usuarios, por lo que alguien en algún lugar probablemente haya tenido la misma pregunta o problema.

RStudio también tiene un menú desplegable de Ayuda en la parte superior (la misma fila donde encuentra “Archivo”, “Editar”, …).Las cosas más notables en el menú desplegable de Ayuda son las Cheatsheets.Estas dos páginas muy apretadas incluyen muchas de las funciones más útiles de los paquetes tidyverse .No son particularmente fáciles de aprender, pero son invaluables como una ayuda memoria .

1.5 Trabajar en un Proyecto

Los archivos en su computadora están organizados en carpetas. Los proyectos de RStudio viven en las carpetas normales de su computadora: marcan el directorio de trabajo de cada proyecto de análisis.Estas carpetas de proyectos se pueden ver o mover de la misma manera que normalmente trabaja con archivos y carpetas en su computadora.

La esquina superior derecha de su RStudio nunca debe decir “Proyecto: (Ninguno)” . Si es así, haga clic en él y cree un nuevo proyecto.Después de hacer clic en Nuevo proyecto, puede decidir si permite que RStudio cree un Nuevo directorio (carpeta) en su computadora. Alternativamente, si sus archivos de datos ya están organizados en una “carpeta existente”,use la última opción.

Cada conjunto de análisis en el que esté trabajando debe tener su propia carpeta y proyecto RStudio.Esto le permite cambiar entre diferentes proyectos sin mezclar los datos, scripts o archivos de salida.Todo se lee o se guarda en el lugar correcto.No más exportar un gráfico y luego revisar los diversos documentos, etc., carpetas en su computadora tratando de averiguar dónde podría haberse guardado su gráfico.Se guardó en la carpeta del proyecto.

1.6 Reinicie R regularmente

¿Has probado a apagarlo y encenderlo de nuevo? Es vital reiniciar R regularmente. Reiniciar R ayuda a evitar el uso accidental de datos o funciones incorrectas almacenadas en el entorno.¡Reiniciar R solo lleva un segundo y lo hacemos varias veces al día! Una vez que se acostumbre a guardar todo en un script, siempre estará feliz de reiniciar R.Esto lo ayudará a desarrollar habilidades de análisis de datos sólidas y reproducibles.

Puede reiniciar R haciendo clic en Sesión -> Reiniciar R (menú superior).

FIGURA 1.3: Configuración de sus herramientas de RStudio -> Opciones globales: desmarque Restore .RData into Workspace on Exit” and SetGuardar .RData al salir” en Nunca.

Además, RStudio tiene una configuración predeterminada que ya no se considera la mejor práctica (Figura @ ref(fig:chap01-fig-settings)).Después de instalar RStudio, debe cambiar dos cosas pequeñas pero importantes en Herramientas -> Opciones globales:

  1. Desmarque “Restaurar .RData en Workspace al inicio”
  2. Establezca “Guardar .RData al salir” en Nunca

Esto no significa que no pueda o no deba guardar su trabajo en archivos .RData/.rda . Pero lo mejor es hacerlo conscientemente y cargar exactamente lo que quieres cargar. Permitir que R guarde y cargue todo en silencio por usted también puede incluir datos u objetos rotos.

1.7 Notación a lo largo de este libro

Cuando se mencionan en el texto, los nombres de los paquetes R están en negrita, por ejemplo, ggplot2, mientras que las funciones, los objetos y las variables se imprimen con una fuente monoespaciada, por ejemplo, filter() , mean() , lifeExp . Las funciones siempre van seguidas de corchetes: () , mientras que los objetos de datos o las variables no.

De lo contrario, el código R vive en las áreas grises conocidas como “fragmentos de código”. Las líneas de salida de R comienzan con un ## doble: estos serán los números o el texto que R nos da después de ejecutar el código. R también agrega un contador al comienzo de cada nueva línea; mire los números entre corchetes [] a continuación:

# dos puntos entre dos números crea una secuencia
1001 : 1017
 [1] 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
[16] 1016 1017

Recuerde, las líneas de código R que comienzan con # se denominan comentarios.Ya introdujimos los comentarios como notas sobre el código R anteriormente en este capítulo (Sección @ ref(chap01-what-script) “Ayuda, ¿qué es un script?”), sin embargo, hay un segundo caso de uso para los comentarios.

Cuando haces que el código R sea un comentario, al agregar un # delante de él, se ‘comenta’. Por ejemplo, supongamos que su script R hace dos cosas, imprime números del 1 al 4 y luego números del 1001 al 1004:

# Escribamos números pequeños:
1:4
[1] 1 2 3 4
# Ahora estamos imprimiendo números más grandes:
1001:1004
[1] 1001 1002 1003 1004

Si decide ‘comentar’ la impresión de números grandes, el código se verá así:

# Escribamos números pequeños:
1 : 4
# Ahora estamos imprimiendo números más grandes:
# 1001:1004
[1] 1 2 3 4

Es posible que incluso desee agregar otro comentario real para explicar por qué se comentó este último:

# Ahora comentado como no requerido más
# Ahora estamos imprimiendo números más grandes:
# 1001:1004

Por supuesto, podría eliminar la línea por completo, pero comentar es útil, ya que es posible que desee incluir las líneas más tarde eliminando el # del comienzo de la línea.

Atajo de teclado para comentar/comentar en varias líneas a la vez: Control+Mayús+C
(En una Mac, tanto el Control como el Comando funcionan)

Footnotes

  1. Simplemente significa que cuando usamos filter o lag , vendrán del paquete dplyr, en lugar del paquete stats.Nunca hemos necesitado usar filter y lag de stats , pero si lo hace, use los dos puntos dobles, es decir, stats::filter() o stats::lag() , como simplemente filter() usará el de dplyr↩︎