Data Explorer Shiny App

LV Kinyanjui

2023-02-11

Intent and Intro

Here I will present the idea for a shiny app that is meant to make the process of data analysis more beginner friendly. It gives us a graphical user interface to interact with and make quick changes to allow us to explore out datasets.

This is by no means a comprehensive project but it is a start. It is not meant to compete with any such tools but simply to explore developing web apps with shiny while providing a valuable service to the user.

The app has been published on shinyapp.io

The code can be found on github

Dataset Selection

The app makes it possible to select from a few predefined datasets for use. This includes the all so common iris and mtcars datasets.

This is hardly enough however. For the app to be useful it should allow one to import their custom datasets for exploratory analysis. This functionality is intended to be implemented in future iterations.

Axes Selection

Two drop down menus are provided to select the variables in the dataset and compare them. There are variables selected by default, to be modified.

For now only two axes are provided. In future I hope to add a third optional axis that can allow for the exploration of data in a higher dimension.

Factors

The app also allows the user to select a variable that is categorical, a factor, to color the plot by. This allows one to segment the data and see what clusters exist

There is an intention to add functionality that identifies factor variables automatically and serves them to the user.

Plots

We use the ggplot system to display our data like so.

library(ggplot2)
ggplot(iris, aes(Sepal.Length, 
                 Sepal.Width,
                 color = Species)) +
  geom_point() +
  labs(title = "Exploring Variables in the Dataset")

Limitations and Final Remarks

This set up is of course very limited. It only allows for a scatter plot, and only one generated by the ggplot system at that. That is hardly enough for the kind of robust analyses that an individual may desire to do.

Long term goals, if they come to fruition, are to provide several plotting systems and types to provide a rich experience to the user. There is no timeframe for that, however, at the current time.

This project can only be defined as a stub but a potentially useful one.