SlideShare una empresa de Scribd logo
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

Dpss u3 a2_ocov
Dpss u3 a2_ocovDpss u3 a2_ocov
Dpss u3 a2_ocov
Nicolay Stojakovic
 
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
FromDoppler
 
119167629 taw10-02-es
119167629 taw10-02-es119167629 taw10-02-es
119167629 taw10-02-es
Zhihao 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 R
Víctor González
 
Dpss u3 a2_vlgr
Dpss u3 a2_vlgrDpss u3 a2_vlgr
Dpss u3 a2_vlgr
VLADIMIR GARCÍA
 
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
TaniaEspinoza34
 
Como usar el lenguaje c++
Como usar el lenguaje c++Como usar el lenguaje c++
Como usar el lenguaje c++
EspitiaGiancarlo
 
Haciendo Uso De La Web Quest
Haciendo Uso De La Web QuestHaciendo Uso De La Web Quest
Haciendo Uso De La Web Quest
Hector Espinoza
 
01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx01 T1 2021 Sistemas Embebidos.pptx
01 T1 2021 Sistemas Embebidos.pptx
DyllanBastidas
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
Edwin
 
DPSS U3 A2 FDCM
DPSS U3 A2 FDCMDPSS U3 A2 FDCM
DPSS U3 A2 FDCM
Francisco Camarena
 
Programas de uso libre
Programas de uso libreProgramas de uso libre
Programas de uso libre
elvisurgiles
 
Curso de programacion en android
Curso de programacion en androidCurso de programacion en android
Curso de programacion en android
Escurra Walter
 
Software l y p
Software l y pSoftware l y p
Software l y p
Erick Sanches
 
Fichas tecnicas de software
Fichas tecnicas de softwareFichas tecnicas de software
Fichas tecnicas de software
Brian Ruvalcaba
 
Introduccion al desarrollo con Launchpad
Introduccion al desarrollo con LaunchpadIntroduccion al desarrollo con Launchpad
Introduccion al desarrollo con Launchpad
Denis Fuenzalida
 
Android studio
Android studioAndroid studio
Kubuntu - Aplicaciones
Kubuntu - AplicacionesKubuntu - Aplicaciones
Kubuntu - Aplicaciones
Dani Gutiérrez Porset
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
Raelyx Cordero
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
Rene 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

35 WAIS III Manual de administracion y puntuacion 1.pdf
35 WAIS III Manual de administracion y puntuacion 1.pdf35 WAIS III Manual de administracion y puntuacion 1.pdf
35 WAIS III Manual de administracion y puntuacion 1.pdf
JessicaNuez61
 
Nodulo tiroideo presentacion de power point
Nodulo tiroideo presentacion de power pointNodulo tiroideo presentacion de power point
Nodulo tiroideo presentacion de power point
iansam1319
 
Los objetos de aprendizaje enfocados en las caracteristicas primcipales
Los objetos de aprendizaje enfocados en las caracteristicas primcipalesLos objetos de aprendizaje enfocados en las caracteristicas primcipales
Los objetos de aprendizaje enfocados en las caracteristicas primcipales
DanielNava80
 
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptxMÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
KEIKOFABIANAZETATEMO
 
Cardiología.pptx/Presentación sobre la introducción a la cardiología
Cardiología.pptx/Presentación sobre la introducción a la cardiologíaCardiología.pptx/Presentación sobre la introducción a la cardiología
Cardiología.pptx/Presentación sobre la introducción a la cardiología
Jtriv22
 
Reacciones Químicas en el cuerpo humano.pptx
Reacciones Químicas en el cuerpo humano.pptxReacciones Químicas en el cuerpo humano.pptx
Reacciones Químicas en el cuerpo humano.pptx
PamelaKim10
 
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptxCLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
damiancarganarazb
 
geologia de venezuela. TEMA PRECAMBRICO.pdf
geologia de venezuela. TEMA PRECAMBRICO.pdfgeologia de venezuela. TEMA PRECAMBRICO.pdf
geologia de venezuela. TEMA PRECAMBRICO.pdf
DanielaAlvarez728528
 
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
AugustoBrizola
 
TEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
TEORIAS DE LA EVOLUCION LAMARCK Y DARWINTEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
TEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
DesignDreams1
 
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓNHÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
candelaalonso7
 
Heterociclos; pequeñas y maravillosas estructuras-Química
Heterociclos; pequeñas y maravillosas estructuras-QuímicaHeterociclos; pequeñas y maravillosas estructuras-Química
Heterociclos; pequeñas y maravillosas estructuras-Química
PriyaQuijano
 
reflejos neuropediatria en fisioterapia.pptx
reflejos neuropediatria en fisioterapia.pptxreflejos neuropediatria en fisioterapia.pptx
reflejos neuropediatria en fisioterapia.pptx
victorblake7
 
Cinturón pélvico y cadera (1) (1).pdf......
Cinturón pélvico y cadera (1) (1).pdf......Cinturón pélvico y cadera (1) (1).pdf......
Cinturón pélvico y cadera (1) (1).pdf......
Fernando Macas
 
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdf
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdfRodríguez, C. - La batalla campal en la Edad Media [2018].pdf
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdf
frank0071
 
ASTERACEAS familia de las.margaritas.pptx
ASTERACEAS familia de las.margaritas.pptxASTERACEAS familia de las.margaritas.pptx
ASTERACEAS familia de las.margaritas.pptx
SilvinaElenaMercado
 
Breve y corta presentación sobre la Cardiologia
Breve y corta presentación sobre la CardiologiaBreve y corta presentación sobre la Cardiologia
Breve y corta presentación sobre la Cardiologia
gtelloortiz2
 
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptx
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptxFijación, transporte en camilla e inmovilización de columna cervical II​.pptx
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptx
janetccarita
 
la gangrena de fournier presentacion de p
la gangrena de fournier presentacion de pla gangrena de fournier presentacion de p
la gangrena de fournier presentacion de p
cesarivan2201
 
Aminoácidos, peptidos y proteínas UNE II
Aminoácidos, peptidos y proteínas UNE IIAminoácidos, peptidos y proteínas UNE II
Aminoácidos, peptidos y proteínas UNE II
isaacgutierrez1509
 

Último (20)

35 WAIS III Manual de administracion y puntuacion 1.pdf
35 WAIS III Manual de administracion y puntuacion 1.pdf35 WAIS III Manual de administracion y puntuacion 1.pdf
35 WAIS III Manual de administracion y puntuacion 1.pdf
 
Nodulo tiroideo presentacion de power point
Nodulo tiroideo presentacion de power pointNodulo tiroideo presentacion de power point
Nodulo tiroideo presentacion de power point
 
Los objetos de aprendizaje enfocados en las caracteristicas primcipales
Los objetos de aprendizaje enfocados en las caracteristicas primcipalesLos objetos de aprendizaje enfocados en las caracteristicas primcipales
Los objetos de aprendizaje enfocados en las caracteristicas primcipales
 
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptxMÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
MÉTODO SIMPLEX EN PROBLEMAS DE MAXIMIZACIÓN Y MINIMIZACIÓN.pptx
 
Cardiología.pptx/Presentación sobre la introducción a la cardiología
Cardiología.pptx/Presentación sobre la introducción a la cardiologíaCardiología.pptx/Presentación sobre la introducción a la cardiología
Cardiología.pptx/Presentación sobre la introducción a la cardiología
 
Reacciones Químicas en el cuerpo humano.pptx
Reacciones Químicas en el cuerpo humano.pptxReacciones Químicas en el cuerpo humano.pptx
Reacciones Químicas en el cuerpo humano.pptx
 
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptxCLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
CLASE FRUTOS clase frutos clase frutos ABRIL 2021.pptx
 
geologia de venezuela. TEMA PRECAMBRICO.pdf
geologia de venezuela. TEMA PRECAMBRICO.pdfgeologia de venezuela. TEMA PRECAMBRICO.pdf
geologia de venezuela. TEMA PRECAMBRICO.pdf
 
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
0.1 SEMIOLOGIA neurologica.ppjjjjjjjjjjk
 
TEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
TEORIAS DE LA EVOLUCION LAMARCK Y DARWINTEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
TEORIAS DE LA EVOLUCION LAMARCK Y DARWIN
 
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓNHÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
HÁBITAT DEL DESIERTO CALIDO PRESENTACIÓN
 
Heterociclos; pequeñas y maravillosas estructuras-Química
Heterociclos; pequeñas y maravillosas estructuras-QuímicaHeterociclos; pequeñas y maravillosas estructuras-Química
Heterociclos; pequeñas y maravillosas estructuras-Química
 
reflejos neuropediatria en fisioterapia.pptx
reflejos neuropediatria en fisioterapia.pptxreflejos neuropediatria en fisioterapia.pptx
reflejos neuropediatria en fisioterapia.pptx
 
Cinturón pélvico y cadera (1) (1).pdf......
Cinturón pélvico y cadera (1) (1).pdf......Cinturón pélvico y cadera (1) (1).pdf......
Cinturón pélvico y cadera (1) (1).pdf......
 
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdf
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdfRodríguez, C. - La batalla campal en la Edad Media [2018].pdf
Rodríguez, C. - La batalla campal en la Edad Media [2018].pdf
 
ASTERACEAS familia de las.margaritas.pptx
ASTERACEAS familia de las.margaritas.pptxASTERACEAS familia de las.margaritas.pptx
ASTERACEAS familia de las.margaritas.pptx
 
Breve y corta presentación sobre la Cardiologia
Breve y corta presentación sobre la CardiologiaBreve y corta presentación sobre la Cardiologia
Breve y corta presentación sobre la Cardiologia
 
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptx
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptxFijación, transporte en camilla e inmovilización de columna cervical II​.pptx
Fijación, transporte en camilla e inmovilización de columna cervical II​.pptx
 
la gangrena de fournier presentacion de p
la gangrena de fournier presentacion de pla gangrena de fournier presentacion de p
la gangrena de fournier presentacion de p
 
Aminoácidos, peptidos y proteínas UNE II
Aminoácidos, peptidos y proteínas UNE IIAminoácidos, peptidos y proteínas UNE II
Aminoácidos, peptidos y proteínas UNE II
 

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