data_tugas_1 <- read.csv("data_tugas_1.csv")
head(data_tugas_1)
## id_driver preferensi_merchant preferensi_transportasi preferensi_pasar
## 1 8221198804 Sangat penting Sangat penting Sangat penting
## 2 8997785050 Sangat penting Tidak penting Sangat tidak penting
## 3 81214595942 Netral Netral Netral
## 4 81220265144 Sangat penting Penting Sangat penting
## 5 81220900657 Sangat penting Sangat tidak penting Sangat penting
## 6 81221178667 Sangat penting Penting Penting
## usia status_nikah jml_motor jml_mobil jml_sepeda
## 1 39 Menikah 1 0 1
## 2 41 Menikah 1 0 0
## 3 46 Menikah 1 0 1
## 4 47 Menikah 1 0 0
## 5 40 Menikah 2 0 2
## 6 53 Menikah 1 0 1
recheck untuk mencari missing data kalau ada
is.na(data_tugas_1)
## id_driver preferensi_merchant preferensi_transportasi preferensi_pasar
## [1,] FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE FALSE
## [5,] FALSE FALSE FALSE FALSE
## [6,] FALSE FALSE FALSE FALSE
## [7,] FALSE FALSE FALSE FALSE
## [8,] FALSE FALSE FALSE FALSE
## [9,] FALSE FALSE FALSE FALSE
## [10,] FALSE FALSE FALSE FALSE
## [11,] FALSE FALSE FALSE FALSE
## [12,] FALSE FALSE FALSE FALSE
## [13,] FALSE FALSE FALSE FALSE
## [14,] FALSE FALSE FALSE FALSE
## [15,] FALSE FALSE FALSE FALSE
## [16,] FALSE FALSE FALSE FALSE
## [17,] FALSE FALSE FALSE FALSE
## [18,] FALSE FALSE FALSE FALSE
## [19,] FALSE FALSE FALSE FALSE
## [20,] FALSE FALSE FALSE FALSE
## [21,] FALSE FALSE FALSE FALSE
## [22,] FALSE FALSE FALSE FALSE
## [23,] FALSE FALSE FALSE FALSE
## [24,] FALSE FALSE FALSE FALSE
## [25,] FALSE FALSE FALSE FALSE
## [26,] FALSE FALSE FALSE FALSE
## [27,] TRUE FALSE FALSE FALSE
## [28,] FALSE FALSE FALSE FALSE
## [29,] FALSE FALSE FALSE FALSE
## [30,] FALSE FALSE FALSE FALSE
## [31,] FALSE FALSE FALSE FALSE
## [32,] FALSE FALSE FALSE FALSE
## [33,] FALSE FALSE FALSE FALSE
## [34,] FALSE FALSE FALSE FALSE
## [35,] FALSE FALSE FALSE FALSE
## [36,] FALSE FALSE FALSE FALSE
## [37,] FALSE FALSE FALSE FALSE
## [38,] FALSE FALSE FALSE FALSE
## [39,] FALSE FALSE FALSE FALSE
## [40,] FALSE FALSE FALSE FALSE
## [41,] FALSE FALSE FALSE FALSE
## [42,] FALSE FALSE FALSE FALSE
## [43,] FALSE FALSE FALSE FALSE
## [44,] FALSE FALSE FALSE FALSE
## [45,] FALSE FALSE FALSE FALSE
## [46,] FALSE FALSE FALSE FALSE
## [47,] FALSE FALSE FALSE FALSE
## [48,] FALSE FALSE FALSE FALSE
## [49,] FALSE FALSE FALSE FALSE
## [50,] FALSE FALSE FALSE FALSE
## [51,] FALSE FALSE FALSE FALSE
## [52,] FALSE FALSE FALSE FALSE
## [53,] FALSE FALSE FALSE FALSE
## usia status_nikah jml_motor jml_mobil jml_sepeda
## [1,] FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE FALSE FALSE
## [5,] FALSE FALSE FALSE FALSE FALSE
## [6,] FALSE FALSE FALSE FALSE FALSE
## [7,] FALSE FALSE FALSE FALSE FALSE
## [8,] FALSE FALSE FALSE FALSE FALSE
## [9,] FALSE FALSE FALSE FALSE FALSE
## [10,] FALSE FALSE FALSE FALSE FALSE
## [11,] FALSE FALSE FALSE FALSE FALSE
## [12,] FALSE FALSE FALSE FALSE FALSE
## [13,] FALSE FALSE FALSE FALSE FALSE
## [14,] FALSE FALSE FALSE FALSE FALSE
## [15,] FALSE FALSE FALSE FALSE FALSE
## [16,] FALSE FALSE FALSE FALSE FALSE
## [17,] FALSE FALSE FALSE FALSE FALSE
## [18,] FALSE FALSE FALSE FALSE FALSE
## [19,] FALSE FALSE FALSE FALSE FALSE
## [20,] FALSE FALSE FALSE FALSE FALSE
## [21,] FALSE FALSE FALSE FALSE FALSE
## [22,] FALSE FALSE FALSE FALSE FALSE
## [23,] FALSE FALSE FALSE FALSE FALSE
## [24,] FALSE FALSE FALSE FALSE FALSE
## [25,] FALSE FALSE FALSE FALSE FALSE
## [26,] FALSE FALSE FALSE FALSE FALSE
## [27,] FALSE FALSE FALSE FALSE FALSE
## [28,] FALSE FALSE FALSE FALSE FALSE
## [29,] FALSE FALSE FALSE FALSE FALSE
## [30,] FALSE FALSE FALSE FALSE FALSE
## [31,] FALSE FALSE FALSE FALSE FALSE
## [32,] FALSE FALSE FALSE FALSE FALSE
## [33,] FALSE FALSE FALSE FALSE FALSE
## [34,] FALSE FALSE FALSE FALSE FALSE
## [35,] FALSE FALSE FALSE FALSE FALSE
## [36,] FALSE FALSE FALSE FALSE FALSE
## [37,] FALSE FALSE FALSE FALSE FALSE
## [38,] FALSE FALSE FALSE FALSE FALSE
## [39,] FALSE FALSE FALSE FALSE FALSE
## [40,] FALSE FALSE FALSE FALSE FALSE
## [41,] FALSE FALSE FALSE FALSE FALSE
## [42,] FALSE FALSE FALSE FALSE FALSE
## [43,] FALSE FALSE FALSE FALSE FALSE
## [44,] FALSE FALSE FALSE FALSE FALSE
## [45,] FALSE FALSE FALSE FALSE FALSE
## [46,] FALSE FALSE FALSE FALSE FALSE
## [47,] FALSE FALSE FALSE FALSE FALSE
## [48,] FALSE FALSE FALSE FALSE FALSE
## [49,] FALSE FALSE FALSE FALSE FALSE
## [50,] FALSE FALSE FALSE FALSE FALSE
## [51,] FALSE FALSE FALSE FALSE FALSE
## [52,] FALSE FALSE FALSE FALSE FALSE
## [53,] FALSE FALSE FALSE FALSE FALSE
Jumlah total missing data.
sum(is.na(data_tugas_1))
## [1] 1
Menghapus data yang memiliki nilai NA.
data_tugas_bersih <- na.omit(data_tugas_1)
boxplot digunakan untuk mencari outlier
boxplot(data_tugas_bersih$usia)
Dari grafik terlihat terdapat nilai usia yang sangat besar sehingga bisa kita anggap sebagai outlier.
IQR(data_tugas_bersih$usia)
## [1] 17.25
Q1 <- quantile(data_tugas_bersih$usia, 0.25)
Q3 <- quantile(data_tugas_bersih$usia, 0.75)
batas_bawah <- Q1 - 1.5 * IQR(data_tugas_bersih$usia)
batas_atas <- Q3 + 1.5 * IQR(data_tugas_bersih$usia)
library(dplyr)
##
## 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
data_clean <- data_tugas_bersih %>%
filter(usia >= batas_bawah & usia <= batas_atas)
Melihat kembali boxplot setelah outlier dihapus.
boxplot(data_clean$usia)
Usia produktif adalah 15–64 tahun.
data_usia_produktif <- data_clean %>%
filter(usia >= 15, usia <= 64)
Usia non produktif adalah 0–14 dan lebih dari 64 tahun.
data_usia_non_produktif <- data_clean %>%
filter(usia < 15 | usia > 64)
Ringkasan statistik untuk usia produktif.
summary_usia <- data_usia_produktif %>%
summarise(
mean = mean(usia),
std_dev = sd(usia),
min = min(usia),
max = max(usia),
IQR = IQR(usia)
)
summary_usia
## mean std_dev min max IQR
## 1 39.92 9.33031 24 57 15.5
Jumlah mobil.
summary_jmlh_mobil <- data_usia_produktif %>%
summarise(
mean = mean(jml_mobil),
median = median(jml_mobil),
std_dev = sd(jml_mobil)
)
summary_jmlh_mobil
## mean median std_dev
## 1 0.04 0 0.1979487
Jumlah motor.
summary_jmlh_motor <- data_usia_produktif %>%
summarise(
mean = mean(jml_motor),
median = median(jml_motor),
std_dev = sd(jml_motor)
)
summary_jmlh_motor
## mean median std_dev
## 1 1.14 1 0.4522055
Jumlah sepeda.
summary_jmlh_sepeda <- data_usia_produktif %>%
summarise(
mean = mean(jml_sepeda),
median = median(jml_sepeda),
std_dev = sd(jml_sepeda)
)
summary_jmlh_sepeda
## mean median std_dev
## 1 0.42 0 0.6091144
library(ggplot2)
ggplot(data_usia_produktif, aes(x = jml_mobil)) +
geom_histogram(color = "white", fill = "steelblue", binwidth = 1)
ggplot(data_usia_produktif, aes(x = jml_motor)) +
geom_histogram(color = "white", fill = "steelblue", binwidth = 1)
ggplot(data_usia_produktif, aes(x = jml_sepeda)) +
geom_histogram(color = "white", fill = "steelblue", binwidth = 1)
Berdasarkan analisis data:
na.omit() untuk membersihkan data