Alden Nabil Wibowo Effendy - G1401231088
Dataset yang akan kita gunakan adalah mtcars
Dataset mtcars adalah dataset bawaan di R yang berisi
data teknis dan performa 32 mobil yang diuji oleh Motor Trend
Magazine pada tahun 1974. Berikut adalah penjelasan dari setiap
variabel dalam dataset mtcars:
| Variabel | Tipe Data | Penjelasan |
|---|---|---|
mpg |
Numerik | Miles per gallon (mil per galon), mengukur efisiensi bahan bakar. |
cyl |
Numerik | Jumlah silinder dalam mesin (4, 6, atau 8). |
disp |
Numerik | Displacement (cc), volume silinder mesin (dalam inci kubik). |
hp |
Numerik | Horsepower (tenaga kuda), ukuran daya mesin. |
drat |
Numerik | Rasio gigi akhir (rear axle ratio). |
wt |
Numerik | Berat mobil dalam satuan ribuan pound. |
qsec |
Numerik | Waktu yang diperlukan untuk menempuh 1/4 mil (dalam detik), menunjukkan akselerasi. |
vs |
Kategori | Tipe mesin: 0 = mesin V-shaped, 1 = mesin straight. |
am |
Kategori | Tipe transmisi: 0 = otomatis, 1 = manual. |
gear |
Numerik | Jumlah gigi pada transmisi (3, 4, atau 5). |
carb |
Numerik | Jumlah karburator. |
Impor library tidyverse dan dataset mtcars
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.4.2
## Warning: package 'readr' was built under R version 4.4.2
## Warning: package 'dplyr' was built under R version 4.4.2
## Warning: package 'forcats' was built under R version 4.4.2
## Warning: package 'lubridate' was built under R version 4.4.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.5
## ✔ forcats 1.0.0 ✔ stringr 1.5.1
## ✔ ggplot2 3.5.1 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.1
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(datasets)
data(mtcars)
mtcars <- tibble::as_tibble(mtcars)
Impor Library dplyr, melihat kelas, dan melihat table
dari dataset
library(dplyr)
class(mtcars)
## [1] "tbl_df" "tbl" "data.frame"
view(mtcars)
head(mtcars)
## # A tibble: 6 × 11
## mpg cyl disp hp drat wt qsec vs am gear carb
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 21 6 160 110 3.9 2.62 16.5 0 1 4 4
## 2 21 6 160 110 3.9 2.88 17.0 0 1 4 4
## 3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1
## 4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1
## 5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2
## 6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1
Gunakan select() untuk memilih sebagian kolom yang diperlukan di database
data1 <- mtcars %>%
select(mpg, am, disp, cyl)
view(data1)
Mengambil data mobil dengan jumlah silinder mesin lebih dari 4, data diurutkan berdasarkan konsumsi BBM paling irit
data_silinder <- data1 %>%
filter(cyl>4) %>%
arrange(mpg)
print(data_silinder)
## # A tibble: 21 × 4
## mpg am disp cyl
## <dbl> <dbl> <dbl> <dbl>
## 1 10.4 0 472 8
## 2 10.4 0 460 8
## 3 13.3 0 350 8
## 4 14.3 0 360 8
## 5 14.7 0 440 8
## 6 15 1 301 8
## 7 15.2 0 276. 8
## 8 15.2 0 304 8
## 9 15.5 0 318 8
## 10 15.8 1 351 8
## # ℹ 11 more rows
Mendapatkan data rata-rata dari konsumsi BBM dan dikategorikan berdasarkan jenis transmisi. Lalu membandingkan konsumsi BBM antara transmisi AT dan MT untuk mobil di bawah 120 inci kubik
mtcars %>% summarise(avg_mpg = mean(mpg))
## # A tibble: 1 × 1
## avg_mpg
## <dbl>
## 1 20.1
mtcars %>% group_by(am) %>%
summarise (mean=mean(mpg))
## # A tibble: 2 × 2
## am mean
## <dbl> <dbl>
## 1 0 17.1
## 2 1 24.4
Memilih kolom hp, wt, dan mpg serta membuat kolom baru bernama powerToWeight, yaitu hasil operasi jumlah horsepower (hp) dibagi dengan berat mobil (wt). Setelah itu data diurutkan berdasarkan rasio power to weight terbesar
data2 <- mtcars %>%
select(hp,wt,mpg) %>%
mutate(powerToWeight=hp/wt) %>%
arrange(desc(powerToWeight))
print(data2)
## # A tibble: 32 × 4
## hp wt mpg powerToWeight
## <dbl> <dbl> <dbl> <dbl>
## 1 335 3.57 15 93.8
## 2 264 3.17 15.8 83.3
## 3 113 1.51 30.4 74.7
## 4 245 3.57 14.3 68.6
## 5 245 3.84 13.3 63.8
## 6 175 2.77 19.7 63.2
## 7 175 3.44 18.7 50.9
## 8 180 3.73 17.3 48.3
## 9 180 3.78 15.2 47.6
## 10 175 3.84 19.2 45.5
## # ℹ 22 more rows