November 19, 2025

MPG Explorer: Interactive mtcars Analysis

  • Goal: Explore how fuel efficiency (mpg) relates to basic car characteristics.
  • Tool: Shiny web application built in R.
  • Data: Built-in mtcars dataset (32 cars, multiple features).
  • Audience: Anyone who wants a quick, interactive view of how car features like weight and horsepower relate to fuel efficiency.

Problem & Idea

Problem

  • Many newcomers to R don’t have an easy, interactive way to:
    • See how mpg changes with other variables.
    • Understand basic linear regression visually.
  • Static plots and printed model summaries can be confusing.

Idea

  • Build a simple Shiny app that:
    • Lets users choose an X variable (wt, hp, disp).
    • Filters cars by number of cylinders (4, 6, 8).
    • Optionally adds a regression line to summarize the trend.

How the App Works

User Inputs (UI)

  • X-axis variable
    • Weight (wt), Horsepower (hp), or Displacement (disp).
  • Cylinders to include
    • 4, 6, and/or 8 cylinders.
  • Regression line toggle
    • Checkbox: show or hide a fitted linear model.

How the App Works

Outputs (Server)

  • Reactive filtering of mtcars based on selected cylinders.
  • Scatterplot of mpg vs chosen X variable.
  • Optional regression line showing linear trend.
  • Printed model summary from lm(mpg ~ X) for the filtered data.

Example: MPG vs Weight (Embedded R code)

Below is a simple example of R code that mimics part of what the app does. This code is executed when the presentation is rendered.

data(mtcars)

model <- lm(mpg ~ wt, data = mtcars)

summary(model)
## 
## Call:
## lm(formula = mpg ~ wt, data = mtcars)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.5432 -2.3647 -0.1252  1.4096  6.8727 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  37.2851     1.8776  19.858  < 2e-16 ***
## wt           -5.3445     0.5591  -9.559 1.29e-10 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.046 on 30 degrees of freedom
## Multiple R-squared:  0.7528, Adjusted R-squared:  0.7446 
## F-statistic: 91.38 on 1 and 30 DF,  p-value: 1.294e-10

Thanks

Thanks for reviewing my presentation and app!