SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Reproducibilidad en torno a
una aplicación web
Pablo Bernabeu
Estudiante de doctorado y docente auxiliar
Departamento de Psicología, Lancaster University
Miembro del Software Sustainability Institute
Programa
• Aplicaciones web
• Reproducibilidad en las aplicaciones
Estudio de caso: aplicación para la simulación de datos
https://github.com/pablobernabeu/Experimental-data-simulation
[Nota: Durante la presentación, se presentan ejemplos directamente de la app y del código]
• Lado del programador
• Opciones
• Lado del usuario final
• Opciones
• Opciones más avanzadas
Aplicaciones web
• Facilitar el acceso a nuestro trabajo y su visibilidad
• Opciones comerciales y no comerciales (código abierto)
• R dispone del marco Shiny, creado por RStudio
• Extensiones: HTML, CSS, R Markdown y todos los paquetes de R
• Servidor: https://shinyapps.io
• Documentación y comunidad extensas
• Ejemplos: https://shiny.rstudio.com/gallery/
Reproducibilidad en la programación
• Prácticamente ilimitada, como la de R
• Versiones de los paquetes
Binder, RStudio Cloud, etc.
• Acceso a datos
read.csv(”https://url-del-archivo.com”)
• Archivos: normalmente uno o dos, según preferencias
• .Rmd, o
• app.R, o
• ui.R y server.R
Reproducibilidad en el uso final
Normalmente:
• Incluso en apps creadas en R, reproducibilidad más limitada
que la que ofrece el código
• Dependiente de la memoria del usuario final
• Claro, ¡en la app no hay código!
Reproducibilidad en el uso final
Facilitar la reproducibilidad para el usuario:
• Registro de actividad exportable
• En caso de utilizar algún número aleatorio en la app,
facilitar uso de semilla aleatoria o personal
• set.seed()
• Particularidades: a veces es necesario cambiar la semilla
a lo largo de la app, para evitar altas correlaciones.
Multiplicar la semilla inicial por distintos números fijos,
no aleatorios, para preservar la semilla inicial.
Reproducibilidad en el uso final
Nivel Pro: exportar código de R personalizado
Accesibilidad de app + Reproducibilidad del código
¿Cómo programar esto?
Adaptando código de la app a código básico de R.
Facilitar la reproducibilidad para el usuario:
• Registro de actividad exportable
• En caso de utilizar algún número aleatorio en la app, facilitar uso de semilla aleatoria o personal
• set.seed()
• Particularidades: a veces es necesario cambiar la semilla a lo largo de la app, para evitar altas
correlaciones. Multiplicar la semilla inicial por distintos números fijos, no aleatorios, para
preservar la semilla inicial.
Reproducibilidad en el uso final
Normalmente:
• Incluso en apps creadas en R, reproducibilidad más limitada
que la que ofrece el código
• Dependiente de la memoria del usuario final
• Claro, ¡en la app no hay código!
Reproducibilidad en el uso final
Nivel Pro: exportar código de R personalizado
Accesibilidad de app + Reproducibilidad del código¿Cómo programar esto?
Adaptando código de la app a código básico de R.
Conclusión
• Las aplicaciones web normalmente tienen una
reproducibilidad más limitada que el código
Opciones
• Registro de actividad exportable
• Semilla en caso de utilizar números aleatorios
• Exportación de código de R basado en la actividad del usuario
Gracias por su atención

Más contenido relacionado

Similar a Reproducibilidad en torno a una aplicación web

Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
Edwin
 
Programas de uso libre
Programas de uso libreProgramas de uso libre
Programas de uso libre
elvisurgiles
 
Introduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadIntroduccion al desarrollo con Launchpad
Introduccion al desarrollo con Launchpad
Denis Fuenzalida
 

Similar a Reproducibilidad en torno a una aplicación web (20)

Dpss u3 a2_ocov
Dpss u3 a2_ocovDpss u3 a2_ocov
Dpss u3 a2_ocov
 
Doppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de DopplerDoppler Tutorial: Cómo aprovechar la API de Doppler
Doppler Tutorial: Cómo aprovechar la API de Doppler
 
119167629 taw10-02-es
119167629 taw10-02-es119167629 taw10-02-es
119167629 taw10-02-es
 
IDE y Editores de código para el entorno R
IDE y Editores de código para el entorno RIDE y Editores de código para el entorno R
IDE y Editores de código para el entorno R
 
Dpss u3 a2_vlgr
Dpss u3 a2_vlgrDpss u3 a2_vlgr
Dpss u3 a2_vlgr
 
Introducción a R Studio para estudiantes.pptx
Introducción a R Studio para estudiantes.pptxIntroducción a R Studio para estudiantes.pptx
Introducción a R Studio para estudiantes.pptx
 
Como usar el lenguaje c++
Como usar el lenguaje c++Como usar el lenguaje c++
Como usar el lenguaje c++
 
Haciendo Uso De La Web Quest
Haciendo Uso De La Web QuestHaciendo Uso De La Web Quest
Haciendo Uso De La Web Quest
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
DPSS U3 A2 FDCM
DPSS U3 A2 FDCMDPSS U3 A2 FDCM
DPSS U3 A2 FDCM
 
Programas de uso libre
Programas de uso libreProgramas de uso libre
Programas de uso libre
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
 
Software l y p
Software l y pSoftware l y p
Software l y p
 
Fichas tecnicas de software
Fichas tecnicas de softwareFichas tecnicas de software
Fichas tecnicas de software
 
Introduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadIntroduccion al desarrollo con Launchpad
Introduccion al desarrollo con Launchpad
 
Android studio
Android studioAndroid studio
Android studio
 
Kubuntu - Aplicaciones
Kubuntu - AplicacionesKubuntu - Aplicaciones
Kubuntu - Aplicaciones
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 

Último

5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
llacza2004
 
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
frank0071
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
frank0071
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
frank0071
 

Último (20)

5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
5.2 DERIVADAS PARCIALES (64RG45G45G45G).pptx
 
medicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptxmedicinatradicionalescuelanacionaldesalud.pptx
medicinatradicionalescuelanacionaldesalud.pptx
 
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
Flores Galindo, A. - La ciudad sumergida. Aristocracia y plebe en Lima, 1760-...
 
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdfPerfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
Perfiles NEUROPSI Atención y Memoria 6 a 85 Años (AyM).pdf
 
La Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vidaLa Célula, unidad fundamental de la vida
La Célula, unidad fundamental de la vida
 
La señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malosLa señal de los higos buenos y los higos malos
La señal de los higos buenos y los higos malos
 
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdfGribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
Gribbin, John. - Historia de la ciencia, 1543-2001 [EPL-FS] [2019].pdf
 
Pelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibrasPelos y fibras. Criminalistica pelos y fibras
Pelos y fibras. Criminalistica pelos y fibras
 
Mapa-conceptual-de-la-Seguridad-y-Salud-en-el-Trabajo-3.pptx
Mapa-conceptual-de-la-Seguridad-y-Salud-en-el-Trabajo-3.pptxMapa-conceptual-de-la-Seguridad-y-Salud-en-el-Trabajo-3.pptx
Mapa-conceptual-de-la-Seguridad-y-Salud-en-el-Trabajo-3.pptx
 
Glaeser, E. - El triunfo de las ciudades [2011].pdf
Glaeser, E. - El triunfo de las ciudades [2011].pdfGlaeser, E. - El triunfo de las ciudades [2011].pdf
Glaeser, E. - El triunfo de las ciudades [2011].pdf
 
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
Ensayo ENRICH (sesión clínica, Servicio de Neurología HUCA)
 
Matemáticas Aplicadas usando Python
Matemáticas Aplicadas   usando    PythonMatemáticas Aplicadas   usando    Python
Matemáticas Aplicadas usando Python
 
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
Un repaso de los ensayos recientes de historia de la ciencia y la tecnología ...
 
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
Schuster, Nicole. - La metrópolis y la arquitectura del poder ayer hoy y mana...
 
CASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptxCASO CLÍNICO INFECCIONES Y TUMORES.pptx
CASO CLÍNICO INFECCIONES Y TUMORES.pptx
 
Diario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docxDiario experiencias Quehacer Científico y tecnológico vf.docx
Diario experiencias Quehacer Científico y tecnológico vf.docx
 
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdfAlthusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
Althusser, Louis. - Ideología y aparatos ideológicos de Estado [ocr] [2003].pdf
 
Mapa Conceptual Modelos de Comunicación .pdf
Mapa Conceptual Modelos de Comunicación .pdfMapa Conceptual Modelos de Comunicación .pdf
Mapa Conceptual Modelos de Comunicación .pdf
 
Fresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontologíaFresas y sistemas de pulido en odontología
Fresas y sistemas de pulido en odontología
 
La biodiversidad de Guanajuato (resumen)
La biodiversidad de Guanajuato (resumen)La biodiversidad de Guanajuato (resumen)
La biodiversidad de Guanajuato (resumen)
 

Reproducibilidad en torno a una aplicación web

  • 1. Reproducibilidad en torno a una aplicación web Pablo Bernabeu Estudiante de doctorado y docente auxiliar Departamento de Psicología, Lancaster University Miembro del Software Sustainability Institute
  • 2. Programa • Aplicaciones web • Reproducibilidad en las aplicaciones Estudio de caso: aplicación para la simulación de datos https://github.com/pablobernabeu/Experimental-data-simulation [Nota: Durante la presentación, se presentan ejemplos directamente de la app y del código] • Lado del programador • Opciones • Lado del usuario final • Opciones • Opciones más avanzadas
  • 3. Aplicaciones web • Facilitar el acceso a nuestro trabajo y su visibilidad • Opciones comerciales y no comerciales (código abierto) • R dispone del marco Shiny, creado por RStudio • Extensiones: HTML, CSS, R Markdown y todos los paquetes de R • Servidor: https://shinyapps.io • Documentación y comunidad extensas • Ejemplos: https://shiny.rstudio.com/gallery/
  • 4. Reproducibilidad en la programación • Prácticamente ilimitada, como la de R • Versiones de los paquetes Binder, RStudio Cloud, etc. • Acceso a datos read.csv(”https://url-del-archivo.com”) • Archivos: normalmente uno o dos, según preferencias • .Rmd, o • app.R, o • ui.R y server.R
  • 5. Reproducibilidad en el uso final Normalmente: • Incluso en apps creadas en R, reproducibilidad más limitada que la que ofrece el código • Dependiente de la memoria del usuario final • Claro, ¡en la app no hay código!
  • 6. Reproducibilidad en el uso final Facilitar la reproducibilidad para el usuario: • Registro de actividad exportable • En caso de utilizar algún número aleatorio en la app, facilitar uso de semilla aleatoria o personal • set.seed() • Particularidades: a veces es necesario cambiar la semilla a lo largo de la app, para evitar altas correlaciones. Multiplicar la semilla inicial por distintos números fijos, no aleatorios, para preservar la semilla inicial.
  • 7. Reproducibilidad en el uso final Nivel Pro: exportar código de R personalizado Accesibilidad de app + Reproducibilidad del código ¿Cómo programar esto? Adaptando código de la app a código básico de R. Facilitar la reproducibilidad para el usuario: • Registro de actividad exportable • En caso de utilizar algún número aleatorio en la app, facilitar uso de semilla aleatoria o personal • set.seed() • Particularidades: a veces es necesario cambiar la semilla a lo largo de la app, para evitar altas correlaciones. Multiplicar la semilla inicial por distintos números fijos, no aleatorios, para preservar la semilla inicial.
  • 8. Reproducibilidad en el uso final Normalmente: • Incluso en apps creadas en R, reproducibilidad más limitada que la que ofrece el código • Dependiente de la memoria del usuario final • Claro, ¡en la app no hay código!
  • 9. Reproducibilidad en el uso final Nivel Pro: exportar código de R personalizado Accesibilidad de app + Reproducibilidad del código¿Cómo programar esto? Adaptando código de la app a código básico de R.
  • 10. Conclusión • Las aplicaciones web normalmente tienen una reproducibilidad más limitada que el código Opciones • Registro de actividad exportable • Semilla en caso de utilizar números aleatorios • Exportación de código de R basado en la actividad del usuario
  • 11. Gracias por su atención