Nuno R
3/24/2020
This assignment has two parts. First, you will create a Shiny application and deploy it on Rstudio's servers. Second, you will use Slidify or Rstudio Presenter to prepare a reproducible pitch presentation about your application.
The data was extracted from the 1974 Motor Trend US magazine, and comprises fuel consumption and 10 aspects of automobile design and performance for 32 automobiles (1973–74 models).
https://stat.ethz.ch/R-manual/R-devel/library/datasets/html/mtcars.html
Henderson and Velleman (1981), Building multiple regression models interactively. Biometrics, 37, 391–411.
# load the data set - mtcars
# NOTE 1: This is a pre-loaded dataset. No need to load it again
# NOTE 2: subset of rows displayed to fit data in the slide
head(mtcars,5)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
summary(mtcars)
mpg cyl disp hp
Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0
1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5
Median :19.20 Median :6.000 Median :196.3 Median :123.0
Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7
3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0
Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0
drat wt qsec vs
Min. :2.760 Min. :1.513 Min. :14.50 Min. :0.0000
1st Qu.:3.080 1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000
Median :3.695 Median :3.325 Median :17.71 Median :0.0000
Mean :3.597 Mean :3.217 Mean :17.85 Mean :0.4375
3rd Qu.:3.920 3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000
Max. :4.930 Max. :5.424 Max. :22.90 Max. :1.0000
am gear carb
Min. :0.0000 Min. :3.000 Min. :1.000
1st Qu.:0.0000 1st Qu.:3.000 1st Qu.:2.000
Median :0.0000 Median :4.000 Median :2.000
Mean :0.4062 Mean :3.688 Mean :2.812
3rd Qu.:1.0000 3rd Qu.:4.000 3rd Qu.:4.000
Max. :1.0000 Max. :5.000 Max. :8.000
Application hosted here: https://datascience-nuno.shinyapps.io/nr-mtcars-wk4-v2/
The main server code that renders the UI and returns the analysis based on the user options can be be found below.
Simply put, the user is asked to select an option the the server on the fly calculates a linear model that correlates mpg to the feature selected.
mpgText <- reactive({paste("mpg ~", input$rd)})
mpgPoint <- reactive({paste("mpg ~", input$rd)})
lm_fit <- reactive({lm(as.formula(mpgPoint()), data=mpg)})
output$caption <- renderText({mpgText()})
output$fit <- renderPrint({summary(lm_fit())})
output$mpgPlot <- renderPlot({ with(mpg, { plot(as.formula(mpgPoint()))
abline(lm_fit(), col="blue")})})
plot(mtcars)