Sebuah perusahaan ingin melakukan profiling konsumennya untuk mengetahui pola konsumsi berdasarkan pendapatan, usia dan tempat tinggal.
# chunk options
knitr::opts_chunk$set(
message = FALSE,
warning = FALSE,
fig.align = "center",
comment = "#>"
)
# scientific notation
options(scipen = 9999)
# import libs
library(lubridate)
library(ggplot2)
library(leaflet)
library(scales)
library(tidyr)
library(colorspace)
library(ggridges)
library(dplyr)
library(ggpubr)
library(glue)
library(plotly)
Mengimpor dataset yang akan digunakan dan memberi nama variabel
konsumen <- read.csv("profil_konsumen.csv")
names(konsumen) <- c("propinsi", "usia","income","konsumsi","kerja","shopping")
konsumen
propinsi: propinsi tempat tinggal usia : usia konsumen income : penghasilan dalam seminggu (Rp.) kerja : jam kerja selama seminggu shopping: waktu yang dihabiskan untuk belanja dalam seminggu (jam)
Variabel propinsi dan usia masih dalam bentuk character. Oleh karena itu perlu dirubah
konsumen<-konsumen%>%
mutate(propinsi = as.factor(propinsi))%>%
mutate(usia = as.factor(usia))
konsumen
Pada bagian ini akan dibuat pengikhtisaran data (data summarization) berdasarkan propinsi. Selain itu akan dilakukan proses visualisasi data. Berikut ini adalah prosesnya.
prop_income<-konsumen %>%
group_by(propinsi) %>%
summarise(rata_rata_income=mean(income,round(1)))
prop_income
plot_prop_income <- prop_income%>%
ggplot(aes(x = rata_rata_income,
y = reorder(propinsi,rata_rata_income),
text = glue("Rata-Rata Income:{rata_rata_income}"))) +
geom_col(fill = c("darkblue", "black", "red", "yellow","darkgreen")) +
labs( x = NULL,
y = NULL,
title = "Rata-rata Pendapatan Konsumen",
subtitle = "Berdasarkan Propinsi",
caption = "Konsumen DKI Jakarta memiliki rata-rata tertinggi")+
scale_y_discrete(labels = wrap_format(30)) +
scale_x_continuous(labels = dollar_format(prefix = ""))
ggplotly(plot_prop_income, tooltip = "text")
Berdasarkan hasil visualisasi data, rata-rata pendapatan konsumen dari propinsi DKI Jakarta tertinggi dibandingkan dengan propinsi lainnya.
Pada bagian ini akan dibuat pengikhtisaran data (data summarization) berdasarkan usia. Selain itu akan dilakukan proses visualisasi data. Berikut ini adalah prosesnya.
prop_usia<-konsumen %>%
group_by(usia) %>%
summarise(rata_rata_income=mean(income,round(1)))
prop_usia
plot_prop_usia <- prop_usia%>%
ggplot(aes(x = rata_rata_income,
y = reorder(usia,rata_rata_income),
text = glue("Rata-Rata Income:{rata_rata_income}"))) +
geom_col(fill = c("purple", "lightgreen", "red")) +
labs( x = NULL,
y = NULL,
title = "Rata-rata Pendapatan Konsumen",
subtitle = "Berdasarkan Usia",
caption = "Usia 41-50 memiliki rata-rata tertinggi")+
scale_y_discrete(labels = wrap_format(30)) +
scale_x_continuous(labels = dollar_format(prefix = ""))
ggplotly(plot_prop_usia, tooltip = "text")
Berdasarkan hasil visualisasi data, rata-rata pendapatan konsumen usia 41-50 tahun adalah tertinggi dibandingkan dengan kelompok usia lainnya. Usia 41-50 tahun biasanya menduduki posisi-posisi penting di tempat kerja masing-masing sehingga pendapatannya tertinggi.
Pada bagian ini akan dibuat visualisasi hubungan antara variabel pendapatan dengan konsumsi. Berikut adalah prosesnya.
plot_income_konsumsi<-konsumen %>%
ggplot(aes(income,
konsumsi)) +
geom_point(aes(),
show.legend = T)+
geom_smooth()+
labs(title = "Hubungan Pendapatan Dengan Konsumsi",
subtitle = "Pendapatan Konsumen Terkait dengan Konsumsi",
x = "Pendapatan",
y = "Konsumsi")+
theme(legend.position = "bottom")
ggplotly(plot_income_konsumsi)
Terdapat hubungan positif antara pendapatan dengan konsumsi. Dari visualisasi tersebut, semakin besar pendapatan maka akan semakin tinggi tingkat konsumsinya.
Pada bagian ini akan dibuat visualisasi hubungan antara variabel pendapatan dengan aktivitas belanja. Berikut adalah prosesnya.
plot_income_shopping<-konsumen %>%
ggplot(aes(income,
shopping)) +
geom_point(aes(),
show.legend = T)+
geom_smooth()+
labs(title = "Hubungan Pendapatan Dengan Jam Belanja",
subtitle = "Pendapatan Konsumen Terkait dengan Jam Belanja",
x = "Pendapatan",
y = "Jam Belanja Per Minggu")+
theme(legend.position = "bottom")
ggplotly(plot_income_shopping)
Terdapat hubungan positif antara pendapatan dengan aktivitas belanja. Dari visualisasi tersebut, semakin besar pendapatan maka akan semakin tinggi aktivitas belanja dalam seminggu.
Pada bagian ini akan dibuat visualisasi hubungan antara variabel jam kerja dengan aktivitas pendapatan. Berikut adalah prosesnya.
plot_kerja_income<-konsumen %>%
ggplot(aes(kerja,
income)) +
geom_point(aes(),
show.legend = T)+
geom_smooth()+
labs(title = "Hubungan Jam Kerja dengan Pendapatan",
subtitle = "Jam Kerja Terkait dengan Pendapatan",
x = "Jam Kerja",
y = "Pendapatan")+
theme(legend.position = "bottom")
ggplotly(plot_kerja_income)
Terdapat hubungan positif antara jam kerja dengan pendapatan. Dari visualisasi tersebut, semakin banyak jam kerja maka akan semakin tigggi pendapatan yang diperoleh.