Interactive Dashboard on Linear Regression Modelling

The R Shiny application is an interactive introductory regression modelling dashboard. The digital tool offers users the opportunity to visualise explanatory factors that likely predict energy consumption and formulate linear regression equations to gain an understanding of model parameters that usefully predict total energy consumed.

Development Process

Developing an interactive dashboard is a delicate balance between plot aesthetic and interpretability.  The process is iterative and requires mindful planning, and adaptability. Researching the numerous ways a function could be applied supported programming a fluid user interface design. Furthermore, trialling different  reactive-render function combinations and appropriately labelling columns streamlines logical filtering, and subsequent calculations that are dynamically generated. uiOutput(), htmlOutput(), verbetimTextOutput(), renderText() and renderPrint() are useful for stylising text and ensuring that the correct reactive input is output.

Design and Interactivity

The dashboard layout has fluidRow(), box(), column(), infoBox() and valueBox() elements to consistently structure HTML() tags, CSS elements, reactive values and plot outputs on energy consumptions attributes. Interactive features include control widgets, loading indicators and explorative data visualisations. Moreover, the choice of a dark theme juxtaposed with light hues aims to ensure sufficient contrast between dynamic output and static text. Style attributes are customised to enhance heading, paragraph and label legibility.

To customise aesthetic text, ticks, colour scales and legends, each visualisation is created utilising the ggplot2 package and rendered by the plotly package. Given that the dataset consists of 5000 observations, the dynamism of plotly features enables users to adjust field of view, zoom level and x-axis positioning with the range slider for a discernible view of granular patterns. The design choices that account for user interface accessibility include interactive hover functionality, colour contrast and visible text. To assess the accessibility of the dashboard, the shinya11y package is added to dashboardBody().