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

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 DopplerFromDoppler
 
119167629 taw10-02-es
119167629 taw10-02-es119167629 taw10-02-es
119167629 taw10-02-esZhihao Qu
 
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 RVíctor González
 
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.pptxTaniaEspinoza34
 
Haciendo Uso De La Web Quest
Haciendo Uso De La Web QuestHaciendo Uso De La Web Quest
Haciendo Uso De La Web QuestHector Espinoza
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptxDyllanBastidas
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacionEdwin
 
Programas de uso libre
Programas de uso libreProgramas de uso libre
Programas de uso libreelvisurgiles
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en androidEscurra Walter
 
Fichas tecnicas de software
Fichas tecnicas de softwareFichas tecnicas de software
Fichas tecnicas de softwareBrian Ruvalcaba
 
Introduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadIntroduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadDenis Fuenzalida
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 

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

Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...
Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...
Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...frank0071
 
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdf
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdfSapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdf
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdffrank0071
 
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...frank0071
 
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITAR
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITARTEXTO COMUNICACIONES.docx PLANEAMIENTO MILITAR
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITARRodrigoLara90
 
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdf
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdfSloterdijk, Peter. - Crítica de la razón cínica [2019].pdf
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdffrank0071
 
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdf
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdfPRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdf
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdfMilagrosValeriano
 
Matematicas Financieras ejercicios tarea
Matematicas Financieras ejercicios tareaMatematicas Financieras ejercicios tarea
Matematicas Financieras ejercicios tareaArmandoCM5
 
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptx
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptxESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptx
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptxDanielAlejandroRocaD
 
10 etapas del proceso administrativo.pptx
10 etapas del proceso administrativo.pptx10 etapas del proceso administrativo.pptx
10 etapas del proceso administrativo.pptxGuillianaAgurto
 
Principios de la endoscopia y esofagoscopia
Principios de la endoscopia y esofagoscopiaPrincipios de la endoscopia y esofagoscopia
Principios de la endoscopia y esofagoscopiaKevinMedina524809
 
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdf
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdfFlori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdf
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdffrank0071
 
1. Introducción a la Química Analítica.pdf
1. Introducción a la Química Analítica.pdf1. Introducción a la Química Analítica.pdf
1. Introducción a la Química Analítica.pdfYvan93
 
Clase 7 Sistema nervioso. Anatomia Veterinaria
Clase 7 Sistema nervioso. Anatomia VeterinariaClase 7 Sistema nervioso. Anatomia Veterinaria
Clase 7 Sistema nervioso. Anatomia VeterinariaSerprovetMedellin
 
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptx
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptxPTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptx
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptxRenzo Navarro
 
Colón, Cristóbal. - Diario de a bordo [2016].pdf
Colón, Cristóbal. - Diario de a bordo [2016].pdfColón, Cristóbal. - Diario de a bordo [2016].pdf
Colón, Cristóbal. - Diario de a bordo [2016].pdffrank0071
 
Anatomia radiologica borrador itb (1).docx
Anatomia radiologica borrador itb (1).docxAnatomia radiologica borrador itb (1).docx
Anatomia radiologica borrador itb (1).docxKarenBonilla53
 
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdf
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdfTraverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdf
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdffrank0071
 
NEUMONIA PRESENTACION (2).ppt en adultosx
NEUMONIA PRESENTACION (2).ppt en adultosxNEUMONIA PRESENTACION (2).ppt en adultosx
NEUMONIA PRESENTACION (2).ppt en adultosxRubnJacoboGarcaLpez
 
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...SteveenVallejo
 

Último (20)

Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...
Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...
Marzal, Manuel M. - Historia de la antropología. Vol. II. Antropología Cultur...
 
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdf
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdfSapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdf
Sapiro, Gisèle. - La sociología de la literatura [ocr] [2016].pdf
 
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...
Marzal, Manuel M. - Historia de la antropología. Vol. I. Antropología Indigen...
 
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITAR
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITARTEXTO COMUNICACIONES.docx PLANEAMIENTO MILITAR
TEXTO COMUNICACIONES.docx PLANEAMIENTO MILITAR
 
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdf
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdfSloterdijk, Peter. - Crítica de la razón cínica [2019].pdf
Sloterdijk, Peter. - Crítica de la razón cínica [2019].pdf
 
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdf
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdfPRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdf
PRACTICA DE LABORATORIO_EXTRACCION DEL ADN DEL PLATANO.pdf
 
Matematicas Financieras ejercicios tarea
Matematicas Financieras ejercicios tareaMatematicas Financieras ejercicios tarea
Matematicas Financieras ejercicios tarea
 
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptx
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptxESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptx
ESTENOSIS - INSUFICIENCIA AORTICA Y PULMONAR.pptx
 
10 etapas del proceso administrativo.pptx
10 etapas del proceso administrativo.pptx10 etapas del proceso administrativo.pptx
10 etapas del proceso administrativo.pptx
 
EXTRACCION DE ADN DEL PLATANO EN LABORATORIO
EXTRACCION DE ADN DEL PLATANO EN LABORATORIOEXTRACCION DE ADN DEL PLATANO EN LABORATORIO
EXTRACCION DE ADN DEL PLATANO EN LABORATORIO
 
Principios de la endoscopia y esofagoscopia
Principios de la endoscopia y esofagoscopiaPrincipios de la endoscopia y esofagoscopia
Principios de la endoscopia y esofagoscopia
 
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdf
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdfFlori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdf
Flori, Jean. - Caballeros y caballería en la Edad Media [ocr] [2001].pdf
 
1. Introducción a la Química Analítica.pdf
1. Introducción a la Química Analítica.pdf1. Introducción a la Química Analítica.pdf
1. Introducción a la Química Analítica.pdf
 
Clase 7 Sistema nervioso. Anatomia Veterinaria
Clase 7 Sistema nervioso. Anatomia VeterinariaClase 7 Sistema nervioso. Anatomia Veterinaria
Clase 7 Sistema nervioso. Anatomia Veterinaria
 
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptx
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptxPTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptx
PTI PEDIA PURPURA TROMBOCITOPENIA IDIOPATICA.pptx
 
Colón, Cristóbal. - Diario de a bordo [2016].pdf
Colón, Cristóbal. - Diario de a bordo [2016].pdfColón, Cristóbal. - Diario de a bordo [2016].pdf
Colón, Cristóbal. - Diario de a bordo [2016].pdf
 
Anatomia radiologica borrador itb (1).docx
Anatomia radiologica borrador itb (1).docxAnatomia radiologica borrador itb (1).docx
Anatomia radiologica borrador itb (1).docx
 
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdf
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdfTraverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdf
Traverso, Enzo. - La historia como campo de batalla [ocr] [2012].pdf
 
NEUMONIA PRESENTACION (2).ppt en adultosx
NEUMONIA PRESENTACION (2).ppt en adultosxNEUMONIA PRESENTACION (2).ppt en adultosx
NEUMONIA PRESENTACION (2).ppt en adultosx
 
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...
LINEAMIENTOS DE PRACTICA PECUARIA PARA EL DESARROLLO LOCAL DE LA GANDERIA BOV...
 

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