Buscar..


Introducción

Con 'Reproducibilidad' queremos decir que otra persona (quizás usted en el futuro) puede repetir los pasos que realizó y obtener el mismo resultado. Ver la vista de la tarea de investigación reproducible .

Observaciones

Para crear resultados reproducibles, todas las fuentes de variación deben ser fijadas. Por ejemplo, si se usa un generador de números aleatorios (pseudo), la semilla debe corregirse si desea recrear los mismos resultados. Otra forma de reducir la variación es combinar texto y cómputo en el mismo documento.

Referencias

Reproducibilidad de datos

dput() y dget()

La forma más fácil de compartir un marco de datos (preferiblemente pequeño) es usar una función básica dput() . Exportará un objeto R en forma de texto plano.

Nota: antes de crear los datos de ejemplo a continuación, asegúrese de estar en una carpeta vacía en la que pueda escribir. Ejecute getwd() y lea ?setwd si necesita cambiar las carpetas.

dput(mtcars, file = 'df.txt')

Entonces, cualquiera puede cargar el objeto R preciso en su dget() utilizando la función dget() .

df <- dget('df.txt')

Para objetos R más grandes, hay varias formas de guardarlos de manera reproducible. Ver Entrada y salida .

Reproducibilidad del paquete

La reproducibilidad del paquete es un problema muy común en la reproducción de algunos códigos R. Cuando varios paquetes se actualizan, algunas interconexiones entre ellos pueden romperse. La solución ideal para el problema es reproducir la imagen de la máquina del escritor de códigos R en su computadora en la fecha en que se escribió el código. Y aquí viene el paquete de checkpoint .

A partir de 2014-09-17, los autores del paquete hacen copias diarias de todo el repositorio de paquetes de CRAN a su propio repositorio de réplica: Microsoft R Archived Network. Por lo tanto, para evitar problemas de reproducibilidad de paquetes al crear un proyecto R reproducible, todo lo que necesita es:

  1. Asegúrese de que todos sus paquetes (y la versión R) estén actualizados.
  2. Incluya la línea de checkpoint::checkpoint('YYYY-MM-DD') en su código.

checkpoint creará un directorio .checkpoint en su directorio R_home ( "~/" ). En este directorio técnico instalará todos los paquetes que se utilizan en su proyecto. Eso significa que el checkpoint revisa todos los archivos .R en el directorio de su proyecto para recoger todas las library() o require() llamadas e instala todos los paquetes necesarios en la forma que existían en CRAN en la fecha especificada.

PRO Estás liberado del problema de reproducibilidad del paquete.
CONTRA Para cada fecha especificada, debe descargar e instalar todos los paquetes que se utilizan en un proyecto determinado que desea reproducir. Eso puede tomar bastante tiempo.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow