library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.3
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
  1. Identifikasi dataset
  1. Dataset mpg berasal dari Environmental Protection Agency (EPA) di Amerika Serikat. Dataset ini pertama kali disusun oleh Hadley Wickham dan timnya sebagai bagian dari paket ggplot2 dalam ekosistem tidyverse di R.

    Dataset ini memuat informasi konsumsi bahan bakar dan spesifikasi teknis dari mobil-mobil yang dijual di AS pada tahun-tahun tertentu, termasuk informasi tentang efisiensi bahan bakar (miles per gallon), ukuran mesin, jenis bahan bakar, dan kelas kendaraan.

    Karakteristik Dataset: Jumlah observasi: 234 baris (mobil) Jumlah variabel: 11 kolom (fitur/atribut) Jenis data: kategorik dan numerik Digunakan untuk: Analisis eksploratif, visualisasi data, regresi, klasifikasi, dan lainnya.

  2. variabel data

    • manufacturer: Nama pabrikan atau produsen mobil (misalnya: ford, toyota, honda)
    • model: Model mobil (misalnya: corolla, civic, mustang)
    • displ: Kapasitas mesin (liter). Semakin besar nilainya, biasanya semakin boros
    • year: Tahun produksi mobil
    • cyl: Jumlah silinder pada mesin mobil
    • trans: Jenis transmisi (otomatis/manual dan detail gigi, misalnya: auto(l5))
    • drv: Tipe penggerak roda: f = front-wheel, r = rear-wheel, 4 = 4-wheel drive
    • cty: Konsumsi bahan bakar dalam kota (miles per gallon / mpg)
    • hwy: Konsumsi bahan bakar di jalan bebas hambatan (highway mpg)
    • fl: Jenis bahan bakar yang digunakan (misalnya: r = regular, p = premium, e = ethanol)
    • class: Kategori mobil berdasarkan ukuran atau fungsinya (misalnya: compact, SUV)
# 2.Dataset

library(readr)
## Warning: package 'readr' was built under R version 4.3.3
data_mpg <- read_csv("https://raw.githubusercontent.com/Asclumb/ST-0625/main/Dataset/mpg.csv")
## Rows: 234 Columns: 12
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (6): manufacturer, model, trans, drv, fl, class
## dbl (6): rownames, displ, year, cyl, cty, hwy
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
glimpse(data_mpg)
## Rows: 234
## Columns: 12
## $ rownames     <dbl> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17…
## $ manufacturer <chr> "audi", "audi", "audi", "audi", "audi", "audi", "audi", "…
## $ model        <chr> "a4", "a4", "a4", "a4", "a4", "a4", "a4", "a4 quattro", "…
## $ displ        <dbl> 1.8, 1.8, 2.0, 2.0, 2.8, 2.8, 3.1, 1.8, 1.8, 2.0, 2.0, 2.…
## $ year         <dbl> 1999, 1999, 2008, 2008, 1999, 1999, 2008, 1999, 1999, 200…
## $ cyl          <dbl> 4, 4, 4, 4, 6, 6, 6, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 8, 8, …
## $ trans        <chr> "auto(l5)", "manual(m5)", "manual(m6)", "auto(av)", "auto…
## $ drv          <chr> "f", "f", "f", "f", "f", "f", "f", "4", "4", "4", "4", "4…
## $ cty          <dbl> 18, 21, 20, 21, 16, 18, 18, 18, 16, 20, 19, 15, 17, 17, 1…
## $ hwy          <dbl> 29, 29, 31, 30, 26, 26, 27, 26, 25, 28, 27, 25, 25, 25, 2…
## $ fl           <chr> "p", "p", "p", "p", "p", "p", "p", "p", "p", "p", "p", "p…
## $ class        <chr> "compact", "compact", "compact", "compact", "compact", "c…
# Statistik Deskriptif
summary(data_mpg)
##     rownames      manufacturer          model               displ      
##  Min.   :  1.00   Length:234         Length:234         Min.   :1.600  
##  1st Qu.: 59.25   Class :character   Class :character   1st Qu.:2.400  
##  Median :117.50   Mode  :character   Mode  :character   Median :3.300  
##  Mean   :117.50                                         Mean   :3.472  
##  3rd Qu.:175.75                                         3rd Qu.:4.600  
##  Max.   :234.00                                         Max.   :7.000  
##       year           cyl           trans               drv           
##  Min.   :1999   Min.   :4.000   Length:234         Length:234        
##  1st Qu.:1999   1st Qu.:4.000   Class :character   Class :character  
##  Median :2004   Median :6.000   Mode  :character   Mode  :character  
##  Mean   :2004   Mean   :5.889                                        
##  3rd Qu.:2008   3rd Qu.:8.000                                        
##  Max.   :2008   Max.   :8.000                                        
##       cty             hwy             fl               class          
##  Min.   : 9.00   Min.   :12.00   Length:234         Length:234        
##  1st Qu.:14.00   1st Qu.:18.00   Class :character   Class :character  
##  Median :17.00   Median :24.00   Mode  :character   Mode  :character  
##  Mean   :16.86   Mean   :23.44                                        
##  3rd Qu.:19.00   3rd Qu.:27.00                                        
##  Max.   :35.00   Max.   :44.00
# BOXPLOT: Perbandingan efisiensi bahan bakar (highway mpg) antar jenis kendaraan

ggplot(data_mpg, aes(x = class, y = hwy, fill = class)) +
  geom_boxplot() +
  labs(title = "Distribusi Efisiensi Bahan Bakar di Jalan Tol per Kelas Kendaraan",
       x = "Kelas Mobil",
       y = "Efisiensi Jalan Tol (mpg)") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1),
        legend.position = "none")

# BARCHART: Frekuensi setiap tipe penggerak roda

ggplot(data_mpg, aes(x = drv, fill = drv)) +
  geom_bar() +
  labs(title = "Jumlah Mobil Berdasarkan Tipe Penggerak Roda",
       x = "Tipe Penggerak Roda (drv)",
       y = "Jumlah Mobil") +
  theme_minimal() +
  theme(legend.position = "none")

# Analisis Pola : Hubungan antara kapasitas mesin dan konsumsi bahan bakar
ggplot(data_mpg, aes(x = displ, y = hwy, color = class)) +
  geom_point(size = 2, alpha = 0.7) +
  labs(title = "Hubungan Kapasitas Mesin dengan Efisiensi Jalan Tol",
       x = "Kapasitas Mesin (liter)",
       y = "Efisiensi Jalan Tol (mpg)") +
  theme_minimal()

# Tren: Rata-rata konsumsi bahan bakar jalan tol berdasarkan tahun produksi 
data_tahun <- data_mpg %>%
  group_by(year) %>%
  summarise(rata_rata_hwy = mean(hwy))

ggplot(data_tahun, aes(x = year, y = rata_rata_hwy)) +
  geom_line(color = "blue", linewidth = 1) +
  geom_point(color = "red", size = 2) +
  labs(title = "Perkembangan Efisiensi Jalan Tol Berdasarkan Tahun",
       x = "Tahun Produksi",
       y = "Rata-rata Highway MPG") +
  theme_minimal()

# Anomali : Mendeteksi Anomali dengan Nilai Ekstrem pada highway mpg
data_mpg %>%
  filter(hwy < 10 | hwy > 40)
## # A tibble: 3 × 12
##   rownames manufacturer model    displ  year   cyl trans drv     cty   hwy fl   
##      <dbl> <chr>        <chr>    <dbl> <dbl> <dbl> <chr> <chr> <dbl> <dbl> <chr>
## 1      213 volkswagen   jetta      1.9  1999     4 manu… f        33    44 d    
## 2      222 volkswagen   new bee…   1.9  1999     4 manu… f        35    44 d    
## 3      223 volkswagen   new bee…   1.9  1999     4 auto… f        29    41 d    
## # ℹ 1 more variable: class <chr>
# Visualisasi distribusi variabel displ
ggplot(mpg, aes(x = displ)) +
  geom_histogram(binwidth = 0.5, fill = "blue", color = "black", alpha = 0.7) +
  labs(title = "Histogram Displacement Mesin",
       x = "Displacement (liter)",
       y = "Frekuensi") +
  theme_minimal()

Dari grafik terlihat bahwa sebagian besar kendaraan memiliki kapasitas mesin antara 2 hingga 3 liter, dengan frekuensi tertinggi berada pada kisaran 2–2.5 liter. Ini menunjukkan bahwa mesin berkapasitas kecil hingga sedang merupakan yang paling umum digunakan. Semakin besar kapasitas mesin, frekuensinya semakin menurun, yang mengindikasikan bahwa kendaraan dengan mesin besar (di atas 5 liter) relatif jarang ditemukan. Distribusi data ini bersifat miring ke kanan, dengan sebagian kecil kendaraan yang memiliki displacement sangat besar.

# Visualisasi hubungan antara displ dan hwy
ggplot(mpg, aes(x = displ, y = hwy)) +
  geom_point(color = "darkgreen", size = 2, alpha = 0.7) +
   geom_smooth(method = "lm", color = "blue", linetype = "solid") +
  labs(title = "Hubungan Antara Displacement Mesin dan Highway MPG",
       x = "Displacement (liter)",
       y = "Highway MPG") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

Terlihat adanya pola hubungan negatif yang cukup jelas, di mana semakin besar kapasitas mesin (displacement), semakin rendah efisiensi bahan bakarnya. Hal ini ditunjukkan oleh garis regresi berwarna biru yang menurun dari kiri atas ke kanan bawah. Dengan kata lain, kendaraan dengan mesin yang lebih kecil cenderung memiliki konsumsi bahan bakar yang lebih efisien (MPG lebih tinggi), sedangkan kendaraan dengan mesin yang lebih besar memiliki efisiensi bahan bakar yang lebih rendah.

# Menghitung korelasi antara displ dan hwy
cor(mpg$displ, mpg$hwy)
## [1] -0.76602
  1. Keterkaitan Nilai korelasi -0.76602 menunjukkan adanya keterkaitan yang kuat dan negatif antara kapasitas mesin (displ) dan efisiensi bahan bakar di jalan tol (hwy). Artinya, semakin besar kapasitas mesin (displ), semakin rendah efisiensi bahan bakar yang diperoleh pada jalan tol (hwy), dan sebaliknya.

  2. Korelasi Korelasi -0.76602 menunjukkan hubungan negatif yang cukup kuat. Ini berarti bahwa ada hubungan linier terbalik yang jelas antara kedua variabel. Kapasitas mesin yang lebih besar cenderung berhubungan dengan angka MPG yang lebih rendah pada jalan tol. Korelasi negatif yang kuat ini mengindikasikan bahwa ketika displ meningkat, hwy menurun.

  3. Pengaruh antara Kedua Variabel Korelasi yang cukup kuat menunjukkan bahwa kapasitas mesin memiliki pengaruh yang signifikan terhadap efisiensi bahan bakar di jalan tol. Kendaraan dengan mesin yang lebih besar cenderung memiliki konsumsi bahan bakar yang lebih tinggi di jalan tol, yang tercermin dalam angka MPG yang lebih rendah. Sebaliknya, kendaraan dengan mesin yang lebih kecil cenderung lebih efisien dalam mengkonsumsi bahan bakar di jalan tol.