SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Copyright (c) WLOG Solutions
Know your R usage
workflow to handle
reproducibility challenges
Budapest, 2018
Copyright (c) WLOG Solutions
Kate and Henry
Freelancer/scientist/
consultant
The Team
Corporate/
In-house team
Meet Personas
John
Student/hobbyist
Copyright (c) WLOG Solutions
They were coding in R
happily until that one
day...
Copyright (c) WLOG Solutions
https://xkcd.com/234/
Copyright (c) WLOG Solutions
John
Could not deliver R labs homework due to
package incompatibility at professors
laptop.
Copyright (c) WLOG Solutions
Kate and Henry
Missed deadlines due to problems
installing packages for their R shiny app at
Customer’s Server running
RedHat Enterprise 6.8.
Copyright (c) WLOG Solutions
The Team
Had serious issues with package versions
conflicts due to many users, many
projects,
running RedHat Enteprise machine
without internet access.
Copyright (c) WLOG Solutions
Three different stories
the same
reproducibility
problem.
Copyright (c) WLOG Solutions
What is reproducibility?
Copyright (c) WLOG Solutions
Reproducibility is the
ability to run your code repeatedly,
at different time,
using different computer,
in such way to
obtain the same outputs given the
same inputs.
Copyright (c) WLOG Solutions
Reproducibility is the
ability to run a code repeatedly,
at different time,
using different computer,
in such way to
obtain the same outputs given the
same inputs.
Copyright (c) WLOG Solutions
Reproducibility is the
ability to run your code repeatedly,
at different time,
using different computer,
in such way to
obtain the same outputs given the
same inputs.
Copyright (c) WLOG Solutions
Reproducibility is the
ability to run your code repeatedly,
at different time,
at different computer,
in such way to
obtain the same outputs given the
same inputs.
Copyright (c) WLOG Solutions
Reproducibility is the
ability to run your code repeatedly,
at different time,
using different computer,
in such way to
obtain the same outputs given the
same inputs.
Copyright (c) WLOG Solutions
Bare metal
Operating system
Solution dependencies
Code
Data
Copyright (c) WLOG Solutions
Few examples
Copyright (c) WLOG Solutions 17
forecast v7.2
- ggplot2 (>= 2.0.0)
- Rcpp (>= 0.11)
- Added gglagplot
R 3.3.1
2016-01-03 2016-09-08
forecast v6.2
- Rcpp (>= 0.11)
R 3.2.3
forecast v8.0
- ggplot2 (>= 2.0.0)
- Rcpp (>= 0.11)
- Modified defaults
for gglagplot
R 3.3.2
2017-03-01
Copyright (c) WLOG Solutions 18
Copyright (c) WLOG Solutions
Development Production
Copyright (c) WLOG Solutions
I recommend using
rocker/r-ver
Copyright (c) WLOG Solutions
When is reproducibility
important while you
program in R?
Copyright (c) WLOG Solutions
Debian/Ubuntu
RedHat/Centos
Windows
Debian/Ubuntu
RedHat/Centos
Windows
Development Production
Deploy (share) solution to production
Copyright (c) WLOG Solutions
Debian/Ubuntu
RedHat/Centos
Windows
Debian/Ubuntu
RedHat/Centos
Windows
Development Development’
Restore development environment
Copyright (c) WLOG Solutions
Three workflows
three reproducibility
solutions.
Copyright (c) WLOG Solutions
John, student/hobbyist
Dev/Production
Version
controlFamily&Friends or
Professor
MRAN
Copyright (c) WLOG Solutions
Kate and Henry, consultancy
team/freelancer/scientist
DevProduction
Continuous
integration
Version
control
Local CRAN
MRAN
On-premise
Cloud
Spark
etc.
Copyright (c) WLOG Solutions
The Team, corporate/in-house team
DevProduction
Continuous
integration
Version
control
Local CRAN
Copyright (c) WLOG Solutions
One word on Docker
Development Production
Build for
different OS
Deployment
package
. zip
Copyright (c) WLOG Solutions
Second word on Docker
Development Production
Build
Docker
image
Copyright (c) WLOG Solutions
CRAN
management
Multiple R
versions
Debian/Ubuntu
Windows
RedHat/CenOS
Docker
Jenkins
Isolated
projects
http://rsuite.io
https://github.com/WLOGSolutions/RSuite
https://www.slideshare.net/WLOGSolutions
No installation
on prod
Internetless
environments
System
requirements
Git/SVN
Binary
packages
31
Wit Jakuczun
CEO
wit.Jakuczun@wlogsolutions.com
+48 601820620
http://www.wlogsolutions.com

Contenu connexe

Tendances

NASA_EPSCoR_poster_2015
NASA_EPSCoR_poster_2015NASA_EPSCoR_poster_2015
NASA_EPSCoR_poster_2015
Longyin Cui
 

Tendances (19)

NLP2API: Replication package accepted by ICSME 2018
NLP2API: Replication package accepted by ICSME 2018NLP2API: Replication package accepted by ICSME 2018
NLP2API: Replication package accepted by ICSME 2018
 
Archiving Oracle Primavera project plans with software development tools
Archiving Oracle Primavera project plans with software development toolsArchiving Oracle Primavera project plans with software development tools
Archiving Oracle Primavera project plans with software development tools
 
OpenACC Monthly Highlights: June 2020
OpenACC Monthly Highlights: June 2020OpenACC Monthly Highlights: June 2020
OpenACC Monthly Highlights: June 2020
 
Integration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source codeIntegration of static and dynamic analysis for understanding legacy source code
Integration of static and dynamic analysis for understanding legacy source code
 
OpenACC Highlights: 2019 Year in Review
OpenACC Highlights: 2019 Year in ReviewOpenACC Highlights: 2019 Year in Review
OpenACC Highlights: 2019 Year in Review
 
ACS San Diego - The RDKit: Open-source cheminformatics
ACS San Diego - The RDKit: Open-source cheminformaticsACS San Diego - The RDKit: Open-source cheminformatics
ACS San Diego - The RDKit: Open-source cheminformatics
 
OpenACC Monthly Highlights: June 2021
OpenACC Monthly Highlights: June 2021OpenACC Monthly Highlights: June 2021
OpenACC Monthly Highlights: June 2021
 
OpenACC Monthly Highlights: March 2021
OpenACC Monthly Highlights: March 2021OpenACC Monthly Highlights: March 2021
OpenACC Monthly Highlights: March 2021
 
Scossu gdi iiif_r+d_report_2019
Scossu gdi iiif_r+d_report_2019Scossu gdi iiif_r+d_report_2019
Scossu gdi iiif_r+d_report_2019
 
OpenACC Highlights: GTC Digital April 2020
OpenACC Highlights: GTC Digital April 2020OpenACC Highlights: GTC Digital April 2020
OpenACC Highlights: GTC Digital April 2020
 
OpenACC Monthly Highlights February 2019
OpenACC Monthly Highlights February 2019OpenACC Monthly Highlights February 2019
OpenACC Monthly Highlights February 2019
 
OpenACC Monthly Highlights: May 2019
OpenACC Monthly Highlights: May 2019OpenACC Monthly Highlights: May 2019
OpenACC Monthly Highlights: May 2019
 
NASA_EPSCoR_poster_2015
NASA_EPSCoR_poster_2015NASA_EPSCoR_poster_2015
NASA_EPSCoR_poster_2015
 
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
Quick and Dirty: Scaling Out Predictive Models Using Revolution Analytics on ...
 
Raster Algebra mit Oracle Spatial und uDig
Raster Algebra mit Oracle Spatial und uDigRaster Algebra mit Oracle Spatial und uDig
Raster Algebra mit Oracle Spatial und uDig
 
Info gdal 20150915
Info gdal 20150915Info gdal 20150915
Info gdal 20150915
 
Jan2015 bioinfo update_on_ftp_sr_aand_usage
Jan2015 bioinfo update_on_ftp_sr_aand_usageJan2015 bioinfo update_on_ftp_sr_aand_usage
Jan2015 bioinfo update_on_ftp_sr_aand_usage
 
Beacon v2 Reference Implementation: An Overview
Beacon v2 Reference Implementation: An OverviewBeacon v2 Reference Implementation: An Overview
Beacon v2 Reference Implementation: An Overview
 
167 - Productivity for proof engineering
167 - Productivity for proof engineering167 - Productivity for proof engineering
167 - Productivity for proof engineering
 

Similaire à Know your R usage workflow to handle reproducibility challenges

SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
Todd Nguyen
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
Todd Nguyen
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
Todd Nguyen
 
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Thomas Wuerthinger
 

Similaire à Know your R usage workflow to handle reproducibility challenges (20)

How to lock a Python in a cage? Managing Python environment inside an R project
How to lock a Python in a cage?  Managing Python environment inside an R projectHow to lock a Python in a cage?  Managing Python environment inside an R project
How to lock a Python in a cage? Managing Python environment inside an R project
 
Managing large scale projects in R with R Suite
Managing large scale projects in R with R SuiteManaging large scale projects in R with R Suite
Managing large scale projects in R with R Suite
 
resume
resumeresume
resume
 
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
 
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
"Enabling Googley microservices with gRPC" Riga DevDays 2018 edition
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18EclipseOMRBuildingBlocks4Polyglot_TURBO18
EclipseOMRBuildingBlocks4Polyglot_TURBO18
 
Ankur_Srivastava
Ankur_SrivastavaAnkur_Srivastava
Ankur_Srivastava
 
It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016It's always your fault. Poznań ADG 2016
It's always your fault. Poznań ADG 2016
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 
Java
JavaJava
Java
 
Reactive robotics io_t_2017
Reactive robotics io_t_2017Reactive robotics io_t_2017
Reactive robotics io_t_2017
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/Green
 
All Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue GreenAll Day DevOps 2016 Fabian - Defending Thyself with Blue Green
All Day DevOps 2016 Fabian - Defending Thyself with Blue Green
 
Bdd Net Frameworks
Bdd Net FrameworksBdd Net Frameworks
Bdd Net Frameworks
 
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
KrankGeek November 2021 - Best practices in Electron-based desktop developmen...
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
SoftwareEngineer
SoftwareEngineerSoftwareEngineer
SoftwareEngineer
 
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
Graal and Truffle: Modularity and Separation of Concerns as Cornerstones for ...
 

Plus de Wit Jakuczun

Plus de Wit Jakuczun (12)

recommendation = optimization(prediction)
recommendation = optimization(prediction)recommendation = optimization(prediction)
recommendation = optimization(prediction)
 
Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...
 
Driving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real timeDriving your marketing automation with multi-armed bandits in real time
Driving your marketing automation with multi-armed bandits in real time
 
Large scale machine learning projects with r suite
Large scale machine learning projects with r suiteLarge scale machine learning projects with r suite
Large scale machine learning projects with r suite
 
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
20170928 why r_r jako główna platforma do zaawansowanej analityki w enterprise
 
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterpriseWit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
Wit jakuczun dss_conf_2017_jak_wdrazac_r_w_enterprise
 
Bringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-StudyBringing the Power of LocalSolver to R: a Real-Life Case-Study
Bringing the Power of LocalSolver to R: a Real-Life Case-Study
 
ANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITYANALYTICS WITHOUT LOSS OF GENERALITY
ANALYTICS WITHOUT LOSS OF GENERALITY
 
Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...Showcase: on segmentation importance for marketing campaign in retail using R...
Showcase: on segmentation importance for marketing campaign in retail using R...
 
20150521 ser protecto_r_final
20150521 ser protecto_r_final20150521 ser protecto_r_final
20150521 ser protecto_r_final
 
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
Rozwiązywanie problemów optymalizacyjnych (z przykładem w R)
 
R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?R+H2O - idealny tandem do analityki predykcyjnej?
R+H2O - idealny tandem do analityki predykcyjnej?
 

Dernier

Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
JohnnyPlasten
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
Lars Albertsson
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
shambhavirathore45
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
shivangimorya083
 

Dernier (20)

Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
Week-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interactionWeek-01-2.ppt BBB human Computer interaction
Week-01-2.ppt BBB human Computer interaction
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Schema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdfSchema on read is obsolete. Welcome metaprogramming..pdf
Schema on read is obsolete. Welcome metaprogramming..pdf
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
CebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptxCebaBaby dropshipping via API with DroFX.pptx
CebaBaby dropshipping via API with DroFX.pptx
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Smarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptxSmarteg dropshipping via API with DroFx.pptx
Smarteg dropshipping via API with DroFx.pptx
 
BabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptxBabyOno dropshipping via API with DroFx.pptx
BabyOno dropshipping via API with DroFx.pptx
 
BigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptxBigBuy dropshipping via API with DroFx.pptx
BigBuy dropshipping via API with DroFx.pptx
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...Determinants of health, dimensions of health, positive health and spectrum of...
Determinants of health, dimensions of health, positive health and spectrum of...
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Zuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptxZuja dropshipping via API with DroFx.pptx
Zuja dropshipping via API with DroFx.pptx
 

Know your R usage workflow to handle reproducibility challenges

  • 1. Copyright (c) WLOG Solutions Know your R usage workflow to handle reproducibility challenges Budapest, 2018
  • 2. Copyright (c) WLOG Solutions Kate and Henry Freelancer/scientist/ consultant The Team Corporate/ In-house team Meet Personas John Student/hobbyist
  • 3. Copyright (c) WLOG Solutions They were coding in R happily until that one day...
  • 4. Copyright (c) WLOG Solutions https://xkcd.com/234/
  • 5. Copyright (c) WLOG Solutions John Could not deliver R labs homework due to package incompatibility at professors laptop.
  • 6. Copyright (c) WLOG Solutions Kate and Henry Missed deadlines due to problems installing packages for their R shiny app at Customer’s Server running RedHat Enterprise 6.8.
  • 7. Copyright (c) WLOG Solutions The Team Had serious issues with package versions conflicts due to many users, many projects, running RedHat Enteprise machine without internet access.
  • 8. Copyright (c) WLOG Solutions Three different stories the same reproducibility problem.
  • 9. Copyright (c) WLOG Solutions What is reproducibility?
  • 10. Copyright (c) WLOG Solutions Reproducibility is the ability to run your code repeatedly, at different time, using different computer, in such way to obtain the same outputs given the same inputs.
  • 11. Copyright (c) WLOG Solutions Reproducibility is the ability to run a code repeatedly, at different time, using different computer, in such way to obtain the same outputs given the same inputs.
  • 12. Copyright (c) WLOG Solutions Reproducibility is the ability to run your code repeatedly, at different time, using different computer, in such way to obtain the same outputs given the same inputs.
  • 13. Copyright (c) WLOG Solutions Reproducibility is the ability to run your code repeatedly, at different time, at different computer, in such way to obtain the same outputs given the same inputs.
  • 14. Copyright (c) WLOG Solutions Reproducibility is the ability to run your code repeatedly, at different time, using different computer, in such way to obtain the same outputs given the same inputs.
  • 15. Copyright (c) WLOG Solutions Bare metal Operating system Solution dependencies Code Data
  • 16. Copyright (c) WLOG Solutions Few examples
  • 17. Copyright (c) WLOG Solutions 17 forecast v7.2 - ggplot2 (>= 2.0.0) - Rcpp (>= 0.11) - Added gglagplot R 3.3.1 2016-01-03 2016-09-08 forecast v6.2 - Rcpp (>= 0.11) R 3.2.3 forecast v8.0 - ggplot2 (>= 2.0.0) - Rcpp (>= 0.11) - Modified defaults for gglagplot R 3.3.2 2017-03-01
  • 18. Copyright (c) WLOG Solutions 18
  • 19. Copyright (c) WLOG Solutions Development Production
  • 20. Copyright (c) WLOG Solutions I recommend using rocker/r-ver
  • 21. Copyright (c) WLOG Solutions When is reproducibility important while you program in R?
  • 22. Copyright (c) WLOG Solutions Debian/Ubuntu RedHat/Centos Windows Debian/Ubuntu RedHat/Centos Windows Development Production Deploy (share) solution to production
  • 23. Copyright (c) WLOG Solutions Debian/Ubuntu RedHat/Centos Windows Debian/Ubuntu RedHat/Centos Windows Development Development’ Restore development environment
  • 24. Copyright (c) WLOG Solutions Three workflows three reproducibility solutions.
  • 25. Copyright (c) WLOG Solutions John, student/hobbyist Dev/Production Version controlFamily&Friends or Professor MRAN
  • 26. Copyright (c) WLOG Solutions Kate and Henry, consultancy team/freelancer/scientist DevProduction Continuous integration Version control Local CRAN MRAN On-premise Cloud Spark etc.
  • 27. Copyright (c) WLOG Solutions The Team, corporate/in-house team DevProduction Continuous integration Version control Local CRAN
  • 28. Copyright (c) WLOG Solutions One word on Docker Development Production Build for different OS Deployment package . zip
  • 29. Copyright (c) WLOG Solutions Second word on Docker Development Production Build Docker image
  • 30. Copyright (c) WLOG Solutions CRAN management Multiple R versions Debian/Ubuntu Windows RedHat/CenOS Docker Jenkins Isolated projects http://rsuite.io https://github.com/WLOGSolutions/RSuite https://www.slideshare.net/WLOGSolutions No installation on prod Internetless environments System requirements Git/SVN Binary packages