#VISUALISASI BESARAN DATA
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
jumlah_penduduk <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="JMLHPNDDK")
pengeluaran_beras <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Beras")
##1. BAR CHART
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.2
barchart_penduduk <- ggplot(jumlah_penduduk, aes(x = reorder(Nama, Jumlah), y = Jumlah)) +
geom_bar(stat = "identity", fill = "skyblue") +
labs(title = "Jumlah Penduduk per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Jumlah Penduduk") +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
coord_flip()
barchart_penduduk
###Berdasarkan bar chart di atas, kita bisa mendapatkan
informasi-informasi berharga. Ada 5 Kabupaten/Kota dengan jumlah
penduduk terbanyak, yaitu Depok, Bekasi, Bandung, Bogor, dan
Tasikmalaya. Dari 5 kabupaten/kota tersebut, akan digali informasi lebih
dalam lagi terkait pengeluaran dan total konsumsi bahan pangan
masing-masing kabupaten/kota.
##2. LOLIPOP CHART
lolipopchart <-
ggplot(pengeluaran_beras, aes(x = reorder(Nama, Pengeluaran), y = Pengeluaran)) +
geom_segment(aes(xend = Nama, yend = 0), color = "lightgreen") +
geom_point(color = "lightgreen", size = 3) +
labs(title = "Rata-Rata Pengeluaran Konsumsi Beras per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Rata-Rata Pengeluaran") +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
theme_classic()
lolipopchart
###Lolipop chart menunjukkan nilai rata-rata pengeluaran keluarga per
kabupaten/kota untuk pembelian beras. Kota Bogor adalah kota yang
memiliki rata-rata pengeluaran konsumsi beras paling tinggi meskipun
jumlah penduduknya berada pada urutan tertinggi ke-4. Sedangkan, Depok
yang memiliki jumlah penduduk paling tinggi, memiliki rata-rata
pengeluaran konsumsi beras ke-2. Hal ini bisa disebabkan adanya
perbedaan harga beras. Mungkin saja harga beras di Kota Bogor lebih
tinggi dibandingkan keempat kabupaten/kota lainnya.
##3. STACKED BAR CHART
dataikandaging <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Stacked")
library(ggplot2)
ggplot(dataikandaging, aes(x = Nama)) +
geom_bar(aes(y = Daging, fill = "Daging"), position = "stack", stat = "identity") +
geom_bar(aes(y = Ikan, fill = "Ikan"), position = "stack", stat = "identity") +
labs(title = "Konsumsi Ikan dan Daging per Kota/Kabupaten",
x = "Kota/Kabupaten",
y = "Jumlah") +
scale_fill_manual(name = "Jenis", values = c(Daging = "lightpink", Ikan = "lightgreen")) +
theme(axis.text.x = element_text(hjust = 1),
plot.title = element_text(hjust = 0.5))+
theme_bw()
###Berdasarkan stacked bar chart dari jumlah konsumsi ikan dan daging
dari 5 kabupaten/kota tersebut, kita dapat mengetahui bahwa hanya
Bandung yang memiliki jumlah konsumsi daging lebih tinggi dibandingkan
ikan. Sedangkan 4 kabupaten/kota lainnya memiliki jumlah konsumsi ikan
yang lebih tinggi dibandingkan daging.Hal ini mungkin disebabkan oleh
preferensi makanan masing-masing kabupaten/kota.
#VISUALISASI SEBARAN DATA ##1. DENSITY PLOT
databeras <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Density")
library(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.3
# Mengubah data menjadi format yang sesuai untuk ggplot
data_long <- melt(databeras)
## No id variables; using all as measure variables
# Membuat density plot
ggplot(data_long, aes(x = value, fill = variable)) +
geom_density(alpha = 0.5) +
labs(title = "Density Plot Konsumsi Beras dari Pembelian per Kota/Kabupaten",
x = "Konsumsi Beras (kg)",
y = "Density") +
scale_fill_manual(values = c("red", "blue", "green", "orange", "purple"),
name = "Kota/Kabupaten",
labels = c("Depok", "Bekasi", "Bandung", "Kota Bogor", "Tasikmalaya")) +
theme_minimal()
## Warning: Removed 2031 rows containing non-finite outside the scale range
## (`stat_density()`).
###Density plot memberikan informasi bagaimana tingkat kepekatan sebaran
data pada tiap kabupaten/kota. Terlihat bahwa setiap kabupaten/kota
memiliki sebaran yang serupa. Grafik Kota Bogor lebih sempit
dibandingkan kabupaten/kota lainnya. Hal ini menandakan bahwa ragam data
di Kota Bogor lebih rendah dibandingkan yang lainnya. Kemudian, setiap
kabupaten/kota kebanyakan mengonsumsi beras dari pembelian pada interval
0 - 5 kg. Hal ini bisa terjadi karena kebanyakan beras yang dikonsumsi
bukan berasal dari pembelian tetapi berasal dari produksi sendiri atau
berasal dari pemberian.
##2. BOXPLOT
databoxplot <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Boxplot Bogor")
data_long <- reshape2::melt(databoxplot)
## No id variables; using all as measure variables
ggplot(data_long, aes(x = variable, y = value, fill = variable)) +
geom_boxplot() +
labs(title = "Boxplot Konsumsi Sapi dan Ayam di Kota Bogor",
x = "Jenis Daging",
y = "Jumlah Konsumsi") +
scale_fill_manual(values = c("skyblue", "lightpink")) +
theme_minimal() +
theme(plot.title = element_text(hjust = 0.5)) +
theme_bw()
## Warning: Removed 423 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
###Kedua boxplot di atas menjulur ke kanan, menunjukkan bahwa distribusi
jumlah konsumsi daging sapi dan daging ayam memiliki nilai-nilai ekstrim
yang tinggi. Beberapa keluarga di Kota Bogor mengonsumsi daging sapi dan
ayam dengan jumlah yang cukup tinggi dibandingkan mayoritas keluarga.
Selain itu, rata-rata konsumsi daging sapi lebih kecil dibandingkan
daging ayam. Hal ini diindikasikan oleh posisi garis tengah boxplot yang
lebih rendah untuk daging sapi dibandingkan daging ayam. Keluarga di
Kota Bogor cenderung mengonsumsi lebih banyak daging ayam dibandingkan
daging sapi karena preferensi makanan, harga relatif kedua jenis daging,
atau kebiasaan konsumsi masyarakat. Kemudian, boxplot daging sapi lebih
pendek dibandingkan daging ayam. Hal ini menunjukkan bahwa jumlah
konsumsi daging sapi memiliki variasi yang lebih kecil dibandingkan
daging ayam di Kota Bogor.
#VISUALISASI KOMPOSISI DATA ##1. PIE CHART
datapiechart <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet="Pie chart")
ggplot(datapiechart, aes(x = "", y = Total, fill = Jenis)) +
geom_bar(width = 1, stat = "identity") +
geom_text(aes(label = scales::percent(Total/sum(Total))), position = position_stack(vjust = 0.5), size = 3) +
coord_polar(theta = "y") +
scale_fill_manual(values = c("skyblue", "lightpink", "lightgreen", "orange")) +
theme_void() +
theme(legend.position = "right") +
ggtitle("Pie Chart Total Pembelian Kacang-Kacangan di Kota Bogor") +
theme(plot.title = element_text(hjust = 0.5))
###Berdasarkan pie chart di atas, tergambar bagaimana komposisi total
pembelian kacang-kacangan di Kota Bogor. Tahu dan tempe mendominasi
dengan proporsi masing-masing sebesar 42.07% dan 42.33%. Hal ini
menunjukkan bahwa tahu dan tempe adalah produk yang sangat disukai
keluarga. Meskipun oncom dan kacang memiliki proporsi yang kecil, tetapi
hal ini menandakan bahwa variasi oncom dan kacang tetap diperlukan untuk
memenuhi selera konsumen yang beragam.
##2. TREEMAP
options(repos = c(CRAN = "https://cloud.r-project.org/"))
install.packages("treemap")
## Installing package into 'C:/Users/ASUS/AppData/Local/R/win-library/4.3'
## (as 'lib' is unspecified)
## package 'treemap' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\ASUS\AppData\Local\Temp\RtmpQjzivB\downloaded_packages
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.3
library(readxl)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── 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
(datatreemap <- read_xlsx("C:\\Users\\ASUS\\Documents\\Semester 4\\Visualisasi Data\\Tugas\\Individu\\DATA.xlsx", sheet = "treemap"))
## # A tibble: 30 × 3
## Nama Jenis Total
## <chr> <chr> <dbl>
## 1 Depok Padi dan Umbian 4021.
## 2 Depok Ikan 1012.
## 3 Depok Daging 821.
## 4 Depok Telur dan Susu 1071.
## 5 Depok Sayur-sayuran 2519.
## 6 Depok Kacang 397.
## 7 Bekasi Padi dan Umbian 4794.
## 8 Bekasi Ikan 1168.
## 9 Bekasi Daging 823.
## 10 Bekasi Telur dan Susu 112.
## # ℹ 20 more rows
treemap(datatreemap, index=c("Nama", "Jenis"), vSize="Total", title="Treemap Konsumsi", palette="Set3",
fontsize.labels=c(10, 8), fontface.labels=c(1, 3), align.labels=list(c("center", "center"), c("left", "top")),
fontcolor.labels = "white")
###Treemap di atas menggambarkan total konsumsi bahan pangan di 5 kabupaten/kota dengan jumlah penduduk tertinggi berdasarkan jenis bahan pangan. Berdasarkan ukuran kotak, treemap tersebut mencerminkan proporsi total konsumsi tertinggi adalah Kota Bogor. Terlihat juga bahwa setiap kabupaten/kota mengonsumsi jenis padi dan umbi paling banyak dibandingkan kategori lain. Hal ini jelas karena padi dan umbi merupakan bagian integral dari pola makanan masyarakat.