Image processing and computer vision with R
Lubomír Štěpánek, Jiří Novák
Advanced User Interfaces for Shiny Developers
David Granjon, Mustapha Larbaoui, Flavio Lombardo, Douglas Robinson
Explanation and exploration of machine learning models with R
Przemyslaw Biecek, Hubert Baniecki
Non-disclosive federated analysis in R
Patricia Ryser-Welch, Paul Burton, Demetris Avraam, Stuart Wheater, Olly Butters, Becca Wilson, Alex Westerberg, Leire Abarrategui-Martinez
The analysis of individual person-level data is often crucial in the biomedical and sciences. But ethical, legal, and regulatory restrictions often provide significant, though understandable and socially responsible, impediments to the sharing of individual-level data: particularly when those data are sensitive as is often the case with health data. This creates important challenges for the development of appropriate architectures for federated analysis systems, the associated R programming techniques, and the visualization of the data. In this workshop, we first introduce how an architectural approach can build non-disclosive federated analysis systems. Secondly, we present some practical exercises to illustrate the concepts of non-disclosive programming techniques in R. Finally, we discuss and provide some concrete examples of non-disclosive visualization techniques.
Reproducible workflows with the RENKU platform
Christine Choirat, The Renku Development Team
Communities and funding sources are increasingly demanding reproducibility in scientific work. There are now a variety of tools available to support reproducible data science, but choosing and using one is not always straightforward. In this tutorial, we present RENKU (https://renkulab.io/): an open-source platform integrating git, Jupyter/RStudio Server, Docker, analysis workflows linked with a queryable knowledge graph. With RENKU, every step of the data science research that generates new code or data is preserved by the git version-control system. This allows scientists to step backwards through the history of their research and retrieve earlier versions of their methods and results. RENKU materializes data science recipes and data lineage into a knowledge representation based on the Common Workflow Language standards (CWL), and PROV-O ontology. Data lineage is automatically recorded and workflow captured within and across RENKU projects, allowing derived data and results to be unambiguously traced back to original raw data sources through all intermediate processing steps. Because data lineage includes the code of intermediate data transforms or data analytics, research is reproducible. RENKU projects evolve asynchronously into a web of interwoven threads, so the output of one analysis becomes the input of another. The knowledge representation can even become the object of data analytics; for example, the popularity of research can be ranked, the system can learn about one’s research interests from the data and methods used, and recommends other research activities that it finds comparable, or generate customized alerts when new insights are discovered in relevant scientific research. From an end-user perspective, through a unique authentication mechanism, the platform provides a seamless integration of a Jupyter notebook server, git version control, git LFS to handle data, continuous integration via GitLab, containerization via Docker images that can be reused and shared, and automatic CWL workflow generation via a knowledge graph.
A unified approach for writing automatic reports: parameterization and generalization of R-Markdown
Cristina Muschitiello, Niccolò Stamboglis
Build a website with blogdown in R
Tatjana Kecojevic, Katarina Kosmina, Tijana Blagojev
The workshop will provide a practical guide for crateing websites using the blogdown package in R that allows you to create websites from R markdown files using Hugo, an open-source static site generator written in Go. In this workshop you will learn how to create dynamic R Markdown documents to build static websites allowing you to use R code to render the results of your analysis. The blogdown through the use of R Markdown allows technical writing allowing you to add graphs, tables, LaTeX equations, theorems, citations, and references. This makes blogdown a perfect tool for designing websites to communicate your R data story telling or just awesome general-purpose websites. After you create your awesome website using the blogdown and HUGO template you will push it onto your GitHub and deploy on Netlify all free of charge.
Objectives:
– Apply HUGO theme to create a website using the blogdown
– Perosnalise the website
– Deploy site from your computer to the Internet
– Use GitHub for version control
– Use Netlify for continuous deployment
– Updating your website: serving site, push to GitHub, deploy
This will be a hands-on workshop where students are expected to work simultaneously with the tutor. The workshop will be delivered in two parts. Part I will focus on introducing the blogdown package and familiarising you with the structure of HUGO’s website templates. You will build your first website and make some basic changes that would personalise your website. Once you have created your website you will learn how to add the post, how to customise it and finally how to deploy it.
Indicative programe:
Part I: Creating websites using the blogdown and HUGO
– Introducing the blogdown and HUGO (5 min)
– set up a working environment (10min)
– install/update packages
– connect to GitHub (10min)
– Building a website (50min)
– understanding Hugo content:subdirectories/pages
– Personalise the website
– Q/A time (15min)
Part II: Making changes and deployment – Adding posts to your website (30min)
– Adding images and tables to your posts (15min)
– Customise the look (15min)
– Deploying in Netlify through GitHub (15min)
– Hoste your site as rbind subdomain (5min)
– Q/A time(10min)
You will be able to continu your blogdown learning journey by checking full blogdown documentation freely available from [blogdown: Creating Websites with R Markdown book](https://bookdown.org/yihui/blogdown/).
Bring your R Application Safely to Production. Collaborate, Deploy, Automate.
Riccardo Porreca, Peter Schmid
In this hands-on 3-hours session we will: highlight the benefits of versioning your R code with Git and GitHub; show how to set up automated controls of your development on Travis CI, leveraging unit tests and R’s built-in package checks for Continuous Integration (CI); discuss effective branching models, pull requests and branch protection on GitHub, an approach especially important in a collaborative environment; demonstrate how to set up Continuous Deployment (CD) of packaged applications via Travis CI/GitHub Actions.
A simple R package with a Shiny app will be used as a running example to lay out a full workflow for stable, secure, reproducible deployments and releases.
This workshop is the natural continuation of ”Is R ready for Production? Let’s develop a Professional Shiny Application!”, however, attendance to the previous workshop is not a mandatory prerequisite.
Is R ready for Production? Let’s develop a Professional Shiny Application!
Andrea Melloncelli
Required skills:
This workshop will point out how to create a robust design and how to easily install this application on a (Cloud) server, it will not about what a Shiny Application is.
How to build htmlwidgets
Jean-Philippe Coene
But truth be told htmlwidgets tend to come with very little JavaScript code as many JavaScript visualisation libraries can be instantiated with as little as a single line of code.
The lack of documentation combined with a lack of knowledge of JavaScript makes htmlwidgets uncanningly striking but once all is demystified R developers are quick to see what it can bring to their work. I believe a workshop along the lines of “How to build htmlwidgets” could greatly benefit the community.
During the workshop I would propose walking users through building an htmlwidget from scratch (building together); it is very rewarding and encouraging to end up with working visualisation package. We’d cover everything all the way to proxy integrations with Shiny. Building an htmlwidget from scratch leads to many epiphanies as one comes to realise how easy it is to actually put together.
One would however need some basic understanding of how to develop an R package, as htmlwidgets take that form.
Semantic Web in R for Data Scientists
Goran Milovanović
This workshop will offer a hands-on approach to Semantic Web technologies in R by exemplifying how to work with Wikidata and DBpedia in different ways. Attendees of the workshop should be R developers who understand the typical ways of dealing with familiar data structures like dataframes and lists. The workshop will be supported by a well documented, readable code in a dedicated GitHub repo.
The plan is to start simple (using the WIkidata API, for example) and then slowly progress towards more advanced topics (e.g. your first SPARQL query from R and why it is not as complicated as people think, matching your data set against Wikidata entities in order to enrich it, and similar). I will provide an introduction to Semantic Web on a conceptual level only so that participants will not need a full understanding of the related technical standards (RDF, different serializations, etc) to follow through.
Finally, we will show how to process the Wikidata JSON dump from R for those interested to play big games with R and the Semantic Web. We might be playing around with some interactive graph visualizations during the workshop. I think that Semantic Web is a new topic for many Data Scientist and that the R world definitely deserves a better introduction to it than it already has.