Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
We are pleased to announce the full line-up for this year’s Shiny in Production conference! This year, we’re introducing a new lightning talk session. These short 5 minute talks will allow us to showcase many more uses of Shiny in Production. The conference will still feature 6 full length talks, as well as a session of lightning speakers.
Talks
Cara Thompson – Freelance Data Consultant
Data-To-Wow: Leveraging Shiny as a no-code solution for high-end parameterised visualisations
You’ve created a prototype visualisation, fine-tuned it so it looks amazing and perfectly on-brand, and turned the plot code into a function so that you can run it again on different data and highlight different aspects of the story. Others on the team have seen how good the outputs look and they want in on the magic! But they don’t want to learn R.
This talk will offer a behind-the-scenes look at the process of creating a Shiny App that functions as a black box to get straight from the data to high-end parameterised visualisations. We’ll start by looking at creating parameterised plot functions using ggplot, before exploring how to bring the data and parameterisation into Shiny to create a seamless no-code data-to-viz workflow for the users.
Gareth Burns – Exploristics
Shiny in Secondary Education: Supplementing traditional learning resources to allow students to explore statistical concepts
The Statisticians in the Pharmaceutical Industry (PSI) Schools Outreach initiative aims at promoting data literacy and statistical concepts to the next generation of Statisticians and Data Scientists. Volunteers attend secondary schools to present from specialised workshops which are designed to be interactive, engaging and aligned to the national curriculum for different age groups.
The PSI Visualisation Special Interest Group (VIS SIG) created a Shiny application to supplement an existing workshop for Asthma. This workshop aims to introduce the students to analysis of continuous data and make them think about concealing treatment assignment and consider false positive and false negative results. The application allowed electronic data capture the ability to dynamically explore their own data, re-enforcing the statistical concepts and making learning more engaging and accessible.
Each school is different in terms of class size, computer resources and student abilities, therefore the application needed to be flexible to account for this and enable independent set up by a volunteer instructor. User experience and accessibility were fundamental in the design concepts to ensure the application was appropriate for a classroom environment and data visualisation were at an appropriate level for students.
In this presentation we discuss the range of issues required to get a Shiny application being implemented by a team of volunteers into a classroom setting. This includes flexible project management for a team of volunteers, use of persistent storage to enable multiple simultaneous users and use of Shiny modules to make code flexible and scalable for future Workshops.
Cassio Felix Jardim – Data4Shiny
Creating any User Interface in Shiny: The Importance of CSS in Shaping Shiny Apps’ User Interface
The main goal of this presentation is to use CSS concepts to assist in building User Interfaces for Dashboards constructed through Programming Languages. In particular, the R language and its Dashboard creation package (shiny package).
The presentation aims to demonstrate that CSS is crucial for organizing the elements of our Dashboard on the screen and also for the aesthetic aspect of the Dashboard User Interface.
Through the concepts of CSS Flexbox and CSS Grid, the presentation will take on a tutorial format where the entire process of constructing the user interface of any dashboard will be covered from start to finish. The main idea is to consider elements of storytelling, UI Design, and UX Design in the process of building a Dashboard.
The Shiny package and its entire ecosystem include various packages that bridge the gap between Data Science and Web Design, especially languages like Html, CSS, and Javascript. Creating this “bridge” between the worlds of Data Science and Web Design is my main objective.
Katy Morgan – Government Internal Audit Agency
More than just a chat bot: Tailoring the use of Generative AI within Government Internal Audit Agency with user-friendly R shiny applications
Generative AI offers huge potential for driving creativity by suggesting new ideas and perspectives and can also improve efficiency by rapidly processing and extracting insights from large volumes of text. However, using a chatbot-style tool such as ChatGPT can be overwhelming as users have to work out, through trial and error, which questions and instructions give them the outputs they need. The Government Internal Audit Agency’s data analytics team has created two R shiny web applications, each of which simplifies the user’s experience of using generative AI by providing a user-friendly interface and implementing a set of standardised prompts. The Risk Engine walks the user through a stepwise process to explore and articulate the potential risks that might impact any given business objective. The Writing Engine enables users to analyse and generate text in several ways, including generating a draft audit report from rough notes, and summarising common themes from a set of audit reports. This presentation will cover the process of developing and deploying the web applications and the challenges we faced along the way, describing how we tailored the appearance and functionality of the apps to best meet user needs.
Keith Newman – Jumping Rivers
Title coming soon
Following a PhD in statistics at Newcastle University, Keith developed software to improve road safety modelling. He enjoys creating Shiny apps and teaching the use of R.
Vikki Richardson – Audit Scotland
Faster than a Speeding Arrow – R Shiny Optimisation In Practice
The task of optimising your R Shiny apps for great performance can be challenging. Ensuring your code is efficient, using promises where you can, caching resources, and reducing the number of widgets or reactive variables can all help. But datasets can’t be squeezed any more – or can they? By storing larger chunks of data in Arrow format and using the Arrow package for manipulation, we were able to speed up some slower computations by at least one order of magnitude – often more.
This presentation will cover a case study of migrating a financial data auditing system to Arrow data storage. Because of Arrow, we were able to drop from two Connect servers to one, making management very happy with the cost savings – and delighting our users with the new, snappier application.
Lightning talks
Yigit Aydede – Saint Mary’s University
Transforming Community Understanding: A Shiny Application for Real-Time Crime and Real Estate Market Insights in Nova Scotia
This presentation showcases the Nova Scotia Property Insights (NSPI) application, a Shiny-based tool designed to provide comprehensive neighborhood insights through the integration of crime statistics and real estate market data. NSPI leverages the power of interactive maps to offer users a dynamic and engaging experience, facilitating informed decision-making for residents, potential homebuyers, policymakers, and researchers.
The core functionality of NSPI includes real-time visualization of crime data and property market trends across Nova Scotia neighborhoods. Users can select specific areas on the map to view detailed statistics within customizable radii, offering a granular perspective on local conditions. The application features a user-friendly interface with multiple tabs, including crime type comparisons, real estate market analysis, and historical data trends.
One of the key innovations of NSPI is its ability to allow users to perform side-by-side neighborhood comparisons. By simply clicking on different map areas, users can generate comparative reports that highlight variations in crime rates and property values. This feature is particularly valuable for those considering relocation or investment in Nova Scotia.
The presentation will delve into the technical aspects of developing NSPI, including data integration, user authentication, and the creation of a responsive UI. Additionally, we will discuss the challenges encountered and the solutions implemented to ensure data accuracy and user engagement.
Abbie Brookes & Jeremy Horne – Datacove
Shiny Policies: Dashboards to Aid British Government Decisions
In collaboration with Natural England, Datacove developed a bespoke Shiny dashboard for informed government decision-making, covering Health and Wellbeing, Nature, and Sustainability (HWNS). This presentation will outline three major topics: project and data management, our approach to customization, and the route taken to enhance usability.
The first phase involved project and data management to establish clear expectations. By engaging with Natural England stakeholders, we ensured that the envisioned product met their specific needs and provided a tangible preview of the dashboard’s functionality and design. We connected to government APIs and used R to extract, process, and transform multiple sources of HWNS data, bringing this information into one place for localised decision-making.
In the second phase, we focused on customisation to ensure seamless integration with Natural England’s existing webpage. Using the brand guidelines and custom CSS/JavaScript, we ensured that the dashboard had the same look and feel as other products built outside of Shiny. This step was crucial in maintaining a cohesive user experience by complementing their established digital ecosystem. Thus, making it easy to access and increasing the likelihood of use.
In the third phase, we emphasized making the dashboard accessible to all, regardless of data literacy. We implemented user-friendly design principles, pre-calculated dynamic stats, and intuitive navigation. For example, we built interactive charts using libraries such as Leaflet and Highcharts, this ensured that comparisons were clear and easy to dynamically explore. We will demonstrate our tips for easy interactive visualisations.
Throughout the project, we adopted best practices in data interpretation and are looking forward to sharing our insights at Shiny in Production.
David Carayon – INRAE
The SK8 project: A scalable institutional architecture for managing and hosting Shiny applications
Introducing the SK8 Project (Shiny Kubernetes Service), where data scientists, statisticians and engineers from INRAE, the French national research institute for agriculture, food and environment, have teamed up to create a new solution for managing and hosting Shiny applications.
Shiny has become very popular in our institute, widely used for sharing, showcasing, and democratizing scientific work. However, the enduring challenge of establishing scalable, secure, and sustainable hosting for these apps had yet to be addressed.
So, after realizing that different research labs had each implemented their own local and makeshift solutions, we put on our thinking caps and decided to craft an open-source institutional solution. Our mission? Break down silos, unite the R community at INRAE, and make hosting applications easy for Shiny developers with no IT backgrounds.
The SK8 infrastructure allows to host Shiny code on a GitLab instance opened to all INRAE staff. We’ve got pipelines (GitLab CI/CD), stability ({renv}), containerization with Docker, scalability and seamless deployment in a Kubernetes cluster. All of this is developed, managed, and maintained by the SK8 team using open-source solutions.
Using SK8 is a piece of cake – just toss your application code into a dedicated GitLab project and hit the “play” button.
In this talk, we will be speaking about the project itself, the ecosystem that’s making it all happen and how you could replicate this in your own company.
Juan Ramon Vallarta Robledo – FIND
Chagas diagnostic algorithms: an online application to estimate cost and effectiveness of diagnostic algorithms for Chagas disease
Chagas disease, caused by the Trypanosoma cruzi parasite, is a significant public health concern in Latin America, with an estimated 6-7 million people affected and increasing incidence rates worldwide. Examining the available diagnostic tests and their cost-effectiveness is essential for improving early diagnosis, which is crucial in managing the disease and preventing severe chronic conditions. To address this, FIND, a non-profit organization dedicated to facilitating equitable access to reliable diagnosis, developed Chagaspathways to provide guidance for Chagas disease testing.
The application is entirely built using Shiny and it incorporates a separate R library (patientpathways ), developed by FIND that contains all the analysis algorithms. It is designed to let users select different scenarios and specify parameters about the target population they are analyzing, like prevalence, testing costs, and the type of test used. The results show the recommended testing approach, the expected number of diagnosed cases, the cost per diagnosed case, along with the positive and negative predictive values. A comprehensive outcomes table is included in the results section and users have the option to download the results as an html report, to help them with further dissemination.
The Chagaspathways application is designed to be a user-friendly tool for public health professionals, recommending the most economical testing approaches to maximize resources and achieve the best results for patients and healthcare infrastructures. The application is intended to expand its scope to cover additional diseases, aiming to become an essential asset in global health initiatives for disease diagnostic modeling.
For updates and revisions to this article, see the original post
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.