class: bottom hide-count title large background-color: white background-image: url(img/universe.jpg) background-position: center background-size: 110% <link href="https://fonts.googleapis.com/css?family=Cedarville+Cursive|Karla|Montserrat|Open+Sans|Quattrocento|Raleway&display=swap" rel="stylesheet"> <style type="text/css"> a, a > code { color: #FFF; text-decoration: none; } em { color: #D55E00FF; font-style: normal; } strong { color: #56B4E9FF; font-weight: normal; } del { color: #E5E5E5; text-decoration: none; font-weight: normal; } .inverse del { color: #6C7B7F; } .title { color: #fff; } .title h1, h2, h3 { color: #fff; } .bg-white-o90{ background-color: rgba(255, 255, 255, 0.9); color: #56B4E9; } .large { font-size: 175% } .large h1 { font-size: 175% } .hide-count .remark-slide-number { display: none; } .text-poster { font-family: 'Cinzel', serif; } .inverse { color: #b9bfca; background-color: #282D35 } .inverse.remark-slide-number { color: #b9bfca; } .remark-code-line-highlighted { color: #D55E00FF; background-color: transparent; } .remark-inline-code { color: #b9bfca; } code { line-height: 120% } .h2 { font-family: 'Karla' } h1, h2, h3 { font-weight: normal; } .dim { color: #6C7B7F; } </style> # the canyon of success ## scaling best practices in R with internal R packages Malcolm Barrett --- class: top, center, hide-count background-image: url(img/pit.jpg) background-position: cover background-size: 100% <span role="img" aria-label="An image of a pit from above"></span> --- class: top, center, hide-count background-image: url(img/canyon.jpg) background-position: cover background-size: 100% <span role="img" aria-label="An image of a canyon; a person stands at the edge"></span> --- class: inverse, large, middle # **consistent, robust code** # **scaleable best practices** --- class: center, middle, hide-count background-image: url(img/consistent-diagram.jpg) background-position: center background-size: 110% <div class="f-subheadline bg-white-o90 pa5 shadow-3 h-50"> <h1>consistent, robust code</h1> </div> --- class: top, center, hide-count background-image: url(img/telephone.jpg) background-position: center background-size: 110% <span role="img" aria-label="An image of several children whispering to each other"></span> --- class: center middle <div class="text-poster" style="width:100%;height:100%;padding:1em;"> <div class="text-poster__text" data-text="In R, the fundamental unit of shareable code is the package."></div> </div> .footnote.pull-right[— Hadley Wickham] --- class: inverse, large <code> <em> library(lvgo)<br /> create_lvgo_package("../lvgo.collaborate")<br /> </em> </code> --- class: inverse, large <code> <del> library(lvgo)<br /> create_lvgo_package("../lvgo.collaborate")<br /> </del> <span style='color:#a8cc8d'>✓</span> Creating <span style='color:#6fbbed'>'lvgo.collaborate'</span><br /> <span style='color:#a8cc8d'>✓</span> Creating <span style='color:#6fbbed'>'R/'</span><br /> <span style='color:#a8cc8d'>✓</span> Writing <span style='color:#6fbbed'>'DESCRIPTION'</span><br /> <span style='color:#a8cc8d'>✓</span> Writing <span style='color:#6fbbed'>'NAMESPACE'</span><br /> <span style='color:#a8cc8d'>✓</span> Writing <span style='color:#6fbbed'>'lvgo.collaborate.Rproj'</span><br /> <span style='color:#a8cc8d'>✓</span> Adding <span style='color:#6fbbed'>'testthat'</span> to <span style='color:#a8cc8d'>Imports</span> field in DESCRIPTION<br /> <span style='color:#a8cc8d'>✓</span> Creating <span style='color:#6fbbed'>'tests/testthat/'</span><br /> <span style='color:#a8cc8d'>✓</span> Initialising Git repo<br /> <span style='color:#e88388'>●</span> Request a GitHub repo: <span style='color:#6C7B7F'>`create_jira_github()`</span><br /> <span style='color:#e88388'>●</span> When the repo is available: <span style='color:#6C7B7F'>`use_lvgo_github()`</span><br /> <span style='color:#a8cc8d'>✓</span> Setting active project to <span style='color:#6fbbed'>'lvgo.collaborate'</span> </code> --- class: inverse, large <code> <del> library(lvgo)<br /> create_lvgo_package("../lvgo.collaborate")<br /> </del> <del> ✓ Creating 'lvgo.collaborate'<br /> ✓ Creating 'R/'<br /> ✓ Writing 'DESCRIPTION'<br /> ✓ Writing 'NAMESPACE'<br /> ✓ Writing 'lvgo.collaborate.Rproj'<br /> ✓ Adding 'testthat' to Imports field in DESCRIPTION<br /> ✓ Creating 'tests/testthat/'<br /> ✓ Initialising Git repo<br /> ● Request a GitHub repo: `<em>create_jira_github()</em>`<br /> ● When the repo is available: `<em>use_lvgo_github()</em>`<br /> ✓ Setting active project to 'lvgo.collaborate' </del> </code> --- class: center, middle, hide-count background-image: url(img/scaleable-earth.jpg) background-position: center background-size: 110% <div class="f-subheadline bg-white-o90 pa5 shadow-3 h-50"> <h1>scaleable best practices</h1> </div> --- class: inverse, large, middle # **project independence** # **version control** # **complete reproducibility** --- class: inverse, large, middle # **every analysis is an RStudio project** # **every project is a git repository** # **every repository has an renv environment** --- class: inverse, large <code> <em>create_lvgo_project("../lvgo.collaborate")</em><br /><br /> <span style='color:#a8cc8d'>✓</span> Creating <span style='color:#6fbbed'>'lvgo.collaborate'</span><br /> <span style='color:#a8cc8d'>✓</span> Creating <span style='color:#6fbbed'>'R/'</span><br /> <span style='color:#a8cc8d'>✓</span> Writing <span style='color:#6fbbed'>'lvgo.collaborate.Rproj'</span><br /> <span style='color:#a8cc8d'>✓</span> Adding <span style='color:#6fbbed'>'.Rproj.user'</span> to <span style='color:#6fbbed'>'.gitignore'</span><br /> <span style='color:#a8cc8d'>✓</span> Initialising renv environment<br /> <span style='color:#a8cc8d'>✓</span> Initialising Git repo<br /> <span style='color:#e88388'>●</span> Request a GitHub repo: <span style='color:#6C7B7F'>`create_jira_github()`</span><br /> <span style='color:#e88388'>●</span> When the repo is available: <span style='color:#6C7B7F'>`use_lvgo_github()`</span><br /> <span style='color:#a8cc8d'>✓</span> Setting active project to <span style='color:#6fbbed'>'lvgo.collaborate'</span> </code> --- class: inverse, large, middle # **We also support automated code style, git and GitHub workflows, and code pipelines** --- class: bottom hide-count title large background-color: white background-image: url(img/universe.jpg) background-position: center background-size: 110% [@malco_barrett](https://twitter.com/malco_barrett) <https://malco.io/> <https://github.com/malcolmbarrett>