R Shiny web app: Alaska climate data EDA
I’ve begun working on a new app using Shiny, an R package for publishing interactive web applications. This app is still under development. Features are set to change and not all buttons may be functional at the moment (e.g., google maps). But in the meantime, feel free to give it a whirl. It provides a convenient ability to do basic exploratory data analysis online via a web browser powered by R on the back end.
The data in the app include weather station observations going back to roughly 1950 for most stations, and corresponding grid cell observations from 2-km resolution downscaled CRU (delta downscaling via PRISM), which runs from 1901 through 2009. Both datasets have their issues. There is also a third option of using weather station data with any missing values substituted with CRU values. However bogus this might seem to some, it’s simply an option. And few station locations are affected anyway.
There are main panel tabs for examining temporal distributions of precipitation or temperature for selected locations and spans of years, as well as specific months or seasonal periods. There is also the option to aggregate seasonal data with various functions, to examine, for example, distributions of seasonal means, minimums, maximums, and standard deviations.
There are summary statistics and data tabs, which will subset the data properly based on the user’s selections. The sidebar panel also includes a download button for obtaining a .csv file that includes the currently selected subset of data. These things can all be much improved from their current, no-frills state of development, but they are still useful for the time being. And of course, potentially of interest to anyone who is trying to learn how to make Shiny web applications.
There is also a regression tab for examining trends over time, with plenty of options, including the ability to switch between standard and
ggplot2 displays. Below the main panel plot, regression model results are displayed for as many simultaneous locations the user may wish to include comparatively on a single plot. For this app, the regression models are restricted to simple linear regression.
Finally, a brief, currently minimally developed About tab, provides some additional information about the app, including links to other apps.