× ¿Necesitas ayuda para aprender R? Inscríbete en el Curso de introducción a R de Applied Epi, prueba nuestros Tutoriales gratuitos de R, escribe en nuestro Foro de preguntas y respuestas, o pregunta por nuestra Asistencia técnica para R.

48 Cómo obtener ayuda

Esta página cubre cómo obtener ayuda mediante la publicación de un problema (Issue) en Github o mediante la publicación de un ejemplo reproducible (“reprex”) en un foro en línea.

48.1 Issues en Github

Muchos paquetes y proyectos de R tienen su código alojado en el sitio web Github.com. Puedes comunicarte directamente con los autores a través de este sitio web publicando un “Issue”.

Lee más sobre cómo almacenar tu trabajo en Github en la página Colaboración y Github.

En Github, cada proyecto está contenido en un repositorio. Cada repositorio contiene código, datos, resultados, documentación de ayuda, etc. También hay un vehículo para comunicarse con los autores llamado “Issues”.

Mira a continuación la página de Github del paquete incidence2 (utilizado para hacer curvas epidémicas). Puedes ver la pestaña “Issues” resaltada en amarillo. Puedes ver que hay 5 temas abiertos.

Una vez en la pestaña de problemas, podrás ver los problemas abiertos. Revísalas para asegurarte de que tu problema no ha sido ya tratado. Puedes abrir una nueva incidencia clicando en el botón verde de la derecha. Necesitarás una cuenta de Github para hacerlo.

En tu Issue, sigue las instrucciones que aparecen a continuación para proporcionar un ejemplo mínimo y reproducible. Y, por favor, ¡se cortés! La mayoría de las personas que desarrollan paquetes y proyectos de R lo hacen en su tiempo libre (¡como este manual!).

Para leer más materiales avanzados sobre el manejo de problemas en tu propio repositorio de Github, consulta su documentación sobre Problemas.

48.2 Ejemplo reproducible

Proporcionar un ejemplo reproducible (“reprex”) es la clave para obtener ayuda cuando se publica en un foro o en un Issue de Github. La gente quiere ayudarte, pero tienes que darles un ejemplo con el que puedan trabajar en su propio ordenador. El ejemplo debe:

  • Demostrar el problema que has encontrado

  • Ser mínimo, en el sentido de que incluya sólo los datos y el código necesarios para reproducir el problema

  • Ser reproducible, de manera que se incluyan todos los objetos (por ejemplo, los datos), las llamadas al paquete (por ejemplo, library() o p_load())

  • Además, ¡asegúrate de no publicar ningún dato sensible con el reprex!* Puedes crear dataframes de ejemplo, o utilizar uno de los dataframes incorporados en R (escribe data() para ver una lista de estos set de datos).

El paquete reprex

El paquete reprex puede ayudarte a crear un ejemplo reproducible:

  1. reprex se instala con tidyverse, así que carga cualquiera de los dos paquetes
# instalar/cargar tidyverse (que incluye reprex)
pacman::p_load(tidyverse)
  1. Inicia un script de R que cree el problema, paso a paso, empezando por la carga de paquetes y datos.
# cargar paquetes
pacman::p_load(
     tidyverse,  # gestión y visualización de datos
     outbreaks)  # datos de ejemplo de brotes

#  lista de casos del brote de gripe
outbreak_raw <- outbreaks::fluH7N9_china_2013  # obtener datos del paquete de brotes

# Limpiar los datos
outbreak <- outbreak_raw %>% 
     mutate(across(contains("date"), as.Date))

# Graficar el brote

ggplot(data = outbreak)+
     geom_histogram(
          mapping = aes(x = date_of_onset),
          binwidth = 7
     )+
  scale_x_date(
    date_format = "%d %m"
  )

Copia todo el código en tu portapapeles y ejecuta el siguiente comando:

reprex::reprex()

Verás que aparece una salida HTML en el panel del visor de RStudio. Contendrá todo tu código y cualquier advertencia, error o salida de gráficos. Esta salida también se copia en el portapapeles, por lo que puedes publicarla directamente en un Issue de Github o en un mensaje del foro.

  • Si estableces session_info = TRUE se incluirá la salida de sessioninfo::session_info() con tus versiones de R y del paquete utilizado
  • Puedes proporcionar un directorio de trabajo con wd =
  • Puedes leer más sobre los argumentos y las posibles variaciones en esta página o introduciendo ?reprex

En el ejemplo anterior, el comando ggplot() no se ejecutó porque el argumento date_format = no es correcto - debería ser date_labels =.

Datos mínimos

Los revisores tienen que ser capaces de utilizar tus datos - idealmente tienen que ser capaces de crearlos con código.

Para crear unos datos mínimos, considera la posibilidad de anonimizarlos y utilizar sólo un subconjunto de las observaciones.

EN CONSTRUCCIÓN - también puede utilizar la función dput() para crear unos datos mínimo.

48.3 Publicar en un foro

Lee muchos mensajes de foros. Comprende qué mensajes están bien escritos y cuáles no.

  1. En primer lugar, decide si vas a formular la pregunta. Has revisado a fondo el sitio web del foro, probando con varios términos de búsqueda, para ver si tu pregunta ya ha sido formulada?

  2. Dale a tu pregunta un título informativo (no “¡Ayuda! esto no funciona”).

  3. Escribe tu pregunta:

  • Presenta la situación y tu problema
  • Enlaza con posts de temas similares y explica cómo no responden a tu pregunta
  • Incluye cualquier información relevante para ayudar a alguien que no conozca el contexto de tu trabajo
  • Da un ejemplo mínimo reproducible con la información de tu sesión de R
  • Utiliza la ortografía, la gramática y la puntuación adecuadas, y divide tu pregunta en párrafos para que sea más fácil de leer
  1. Supervisa tu pregunta una vez publicada para responder a cualquier solicitud de aclaración. Se cortés y amable: a menudo las personas que responden están ofreciendo su tiempo para ayudarte. Si tienes una pregunta de seguimiento, piensa si debe ser una pregunta publicada por separado.

  2. Marca la pregunta como respondida, si obtienes una respuesta que satisfaga la petición original. Esto ayuda a que otros reconozcan más tarde rápidamente la solución.

Lee estos posts sobre cómo hacer una buena pregunta el código de conducta de Stack overflow.

48.4 Recursos

Página de Tidyverse sobre cómo obtener ayuda

Consejos para elaborar unos datos mínimos

Documentación de la función dput