## moda_transportasi gaji_a gaji_b gaji_c gaji_d gaji_e gaji_f
## 1 jalan_kaki 3469 2674 2329 8429 2118 19804
## 2 becak NA NA NA NA NA NA
## 3 sepeda NA 2697 1150 1364 NA 5792
## 4 sepeda_motor 6884 47494 151709 561065 352795 165481
## 5 ojek_online 336 3825 6996 20911 18085 77767
## 6 mobil NA 2278 5556 5987 216472 238238
## 7 mobil_sewaan NA NA 658 NA 4517 5175
## 8 kendaraan_jemputan NA NA 1753 13079 25650 58920
## 9 kendaraan_umum 2380 13656 23313 36933 22771 115741
## 10 bus_umum NA NA 3196 7577 36498 62819
## 11 kereta NA 11162 17035 41340 109125 235704
## 12 bus_transjakarta NA 4024 3026 22176 41690 90446
## 13 lainnya 593 892 NA 1407 NA 2892
Untuk pengolahan data, nama kolom diganti menjadi tipe karakter:
gaji_a: < 1.000.000
gaji_b: 1.000.000 - 1.999.999
gaji_c: 2.000.000 - 2.999.999
gaji_d: 3.000.000 - 3.999.999
gaji_e: 4.000.000 - 4.999.999
gaji_f: > 5.000.000
## 'data.frame': 13 obs. of 7 variables:
## $ moda_transportasi: Factor w/ 13 levels "becak","bus_transjakarta",..: 4 1 12 13 11 9 10 5 6 3 ...
## $ gaji_a : int 3469 NA NA 6884 336 NA NA NA 2380 NA ...
## $ gaji_b : int 2674 NA 2697 47494 3825 2278 NA NA 13656 NA ...
## $ gaji_c : int 2329 NA 1150 151709 6996 5556 658 1753 23313 3196 ...
## $ gaji_d : int 8429 NA 1364 561065 20911 5987 NA 13079 36933 7577 ...
## $ gaji_e : int 2118 NA NA 352795 18085 216472 4517 25650 22771 36498 ...
## $ gaji_f : int 19804 NA 5792 165481 77767 238238 5175 58920 115741 62819 ...
## moda_transportasi gaji_a gaji_b gaji_c
## 0 8 4 2
## gaji_d gaji_e gaji_f
## 2 3 1
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
# Replace data NA dengan 'mean' tiap kolom gaji
library(tidyr)
komuter$gaji_a <- replace_na(komuter$gaji_a,as.numeric(mean(komuter$gaji_a, na.rm = T)))
komuter$gaji_b <- replace_na(komuter$gaji_b,as.numeric(mean(komuter$gaji_b, na.rm = T)))
komuter$gaji_c <- replace_na(komuter$gaji_c,as.numeric(mean(komuter$gaji_c, na.rm = T)))
komuter$gaji_d <- replace_na(komuter$gaji_d,as.numeric(mean(komuter$gaji_d, na.rm = T)))
komuter$gaji_e <- replace_na(komuter$gaji_e,as.numeric(mean(komuter$gaji_e, na.rm = T)))
komuter$gaji_f <- replace_na(komuter$gaji_f,as.numeric(mean(komuter$gaji_f, na.rm = T)))## 'data.frame': 13 obs. of 7 variables:
## $ moda_transportasi: Factor w/ 13 levels "becak","bus_transjakarta",..: 4 1 12 13 11 9 10 5 6 3 ...
## $ gaji_a : num 3469 2732 2732 6884 336 ...
## $ gaji_b : num 2674 9856 2697 47494 3825 ...
## $ gaji_c : num 2329 19702 1150 151709 6996 ...
## $ gaji_d : num 8429 65479 1364 561065 20911 ...
## $ gaji_e : num 2118 82972 82972 352795 18085 ...
## $ gaji_f : num 19804 89898 5792 165481 77767 ...
# Menggabungkan Data Gaji ke dalam satu Column
komuter_pivot <- pivot_longer(data = komuter,
cols = c("gaji_a",
"gaji_b",
"gaji_c",
"gaji_d",
"gaji_e",
"gaji_f"),
names_to = "Var_Gaji",
values_to = "Jumlah_Komuter")
komuter_pivot## # A tibble: 78 x 3
## moda_transportasi Var_Gaji Jumlah_Komuter
## <fct> <chr> <dbl>
## 1 jalan_kaki gaji_a 3469
## 2 jalan_kaki gaji_b 2674
## 3 jalan_kaki gaji_c 2329
## 4 jalan_kaki gaji_d 8429
## 5 jalan_kaki gaji_e 2118
## 6 jalan_kaki gaji_f 19804
## 7 becak gaji_a 2732.
## 8 becak gaji_b 9856.
## 9 becak gaji_c 19702.
## 10 becak gaji_d 65479.
## # … with 68 more rows
##
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
##
## last_plot
## The following object is masked from 'package:stats':
##
## filter
## The following object is masked from 'package:graphics':
##
## layout
# Plot Point Berdasarkan Moda Transportasi
komuter_point <- ggplot(komuter_pivot, aes(x = reorder(moda_transportasi, Jumlah_Komuter),
y = Jumlah_Komuter)) +
geom_point(aes(fill = Var_Gaji)) +
coord_flip()
ggplotly(komuter_point)gaji_a: < 1.000.000
gaji_b: 1.000.000 - 1.999.999
gaji_c: 2.000.000 - 2.999.999
gaji_d: 3.000.000 - 3.999.999
gaji_e: 4.000.000 - 4.999.999
gaji_f: > 5.000.000
#Boxplot Berdasarkan Moda Transportasi
komuter_boxplot <- ggplot(komuter_pivot, aes(x = reorder(moda_transportasi,Jumlah_Komuter),
y = Jumlah_Komuter)) +
geom_boxplot(aes(fill = moda_transportasi)) +
coord_flip()
ggplotly(komuter_boxplot)gaji_a: < 1.000.000
gaji_b: 1.000.000 - 1.999.999
gaji_c: 2.000.000 - 2.999.999
gaji_d: 3.000.000 - 3.999.999
gaji_e: 4.000.000 - 4.999.999
gaji_f: > 5.000.000