library(tidyverse) #ggplot2
library(sf)
library(gt)
library(jsonlite)
library(ggrepel)
library(readxl)
Line Plot Kecamatan per Kelurahan
Package
Data
<- read_csv("datasets/stunting.csv") # sumber: BPS stunting_smg
Kecamatan Mijen per Kelurahan
# Contoh line plot di Kecamatan Mijen
<- stunting_smg |>
stunting_smg_2 filter(kec == "Kecamatan Mijen") |>
pivot_longer(c(`2022`,`2023`),
names_to = "tahun",
values_to = "jumlah_stunting")
# Visualisasi line plot
|>
stunting_smg_2 ggplot(aes(x = tahun,
y = jumlah_stunting,
group = desa,
color = desa)) +
geom_line() +
labs(title = "Tingkat Stunting Per Desa di Kecamatan Mijen",
x = "Tahun",
y = "Jumlah stunting") +
geom_text_repel(aes(label = desa),
data = stunting_smg_2 |> filter(tahun == "2022"),
size = 1.75,
xlim = c(NA, 0.9), hjust = 1,
segment.alpha = 0.3, segment.linetype = "dotted") +
theme_minimal() +
theme(legend.position = "none")
Loop untuk semua kecamatan
# Membuat fungsi plot
<- function(kecamatan) {
tingkat_stunting <- stunting_smg |>
stunting_smg_2 filter(kec == kecamatan) |>
pivot_longer(c(`2022`,`2023`),
names_to = "tahun",
values_to = "jumlah_stunting")
|>
stunting_smg_2 ggplot(aes(x = tahun,
y = jumlah_stunting,
group = desa,
color = desa)) +
geom_line() +
labs(title = paste("Tingkat Stunting Per Desa di", kecamatan)) +
geom_text_repel(aes(label = desa),
data = stunting_smg_2 |> filter(tahun == "2022"),
size = 1.75,
xlim = c(NA, 0.9), hjust = 1,
segment.alpha = 0.3, segment.linetype = "dotted") +
theme_minimal() +
theme(legend.position = "none")
}
# Daftar kecamatan di Kota Semarang
<- stunting_smg |>
daftar_kec distinct(kec) |>
pull()
# Mencoba fungsi yang sudah dibuat
tingkat_stunting("Kecamatan Mijen")
# Loop fungsi tingkat_stunting untuk semua kecamatan
<- list()
tingkat_stunting_list
for (i in daftar_kec) {
<- tingkat_stunting(i)
tingkat_stunting_list[[i]] }
# Loop simpan plot
for (i in daftar_kec) {
ggsave(filename = paste0("ggsave/", i, ".png"),
plot = tingkat_stunting_list[[i]],
width = 7, height = 5)
}