1. Pendahuluan dan Sumber Data

2. Persiapan Data

Langkah pertama adalah memanggil paket bantuan (library) dan memasukkan data Excel ke dalam R.

library(ggplot2)
library(readxl)
library(DT)

data_obesitas <- readxl::read_excel(
  path = "C:\\Users\\hp\\OneDrive\\Documents\\Prevalensi Obesitas Pada Penduduk Umur _ 18 Tahun, 2018 (1).xlsx",
  skip = 3,
  col_names = FALSE
)
## New names:
## • `` -> `...1`
## • `` -> `...2`
# Memberikan nama variabel
colnames(data_obesitas) <- c(
  "wilayah",
  "prevalensi"
)

# Mengubah prevalensi menjadi numerik
data_obesitas$prevalensi <- as.numeric(
  data_obesitas$prevalensi
)

data_obesitas
## # A tibble: 3 × 2
##   wilayah             prevalensi
##   <chr>                    <dbl>
## 1 Perkotaan                 39.7
## 2 Perdesaan                 30  
## 3 Perkotaan+Perdesaan       35.4
data_obesitas
## # A tibble: 3 × 2
##   wilayah             prevalensi
##   <chr>                    <dbl>
## 1 Perkotaan                 39.7
## 2 Perdesaan                 30  
## 3 Perkotaan+Perdesaan       35.4

3. Visualisasi Data Kategorik

Visualisasi data kategorik digunakan untuk melihat perbandingan antar kelompok,(Perkotaan vs Perdesaan), grafik yang paling tepat adalah Bar Chart (Diagram Batang).

ggplot(
  data_obesitas,
  aes(
    x = wilayah,
    y = prevalensi,
    fill = wilayah
  )
) +
  geom_col(width = 0.6) +
  geom_text(
    aes(
      label = paste0(prevalensi, "%")
    ),
    vjust = -0.3,
    size = 4
  ) +
  labs(
    title = "Prevalensi Obesitas pada Penduduk Umur > 18 Tahun",
    subtitle = "Berdasarkan Klasifikasi Wilayah, Tahun 2018",
    x = "Klasifikasi Wilayah",
    y = "Prevalensi (%)"
  ) +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

Berdasarkan diagram batang di atas, terlihat jelas bahwa prevalensi obesitas pada penduduk usia di atas 18 tahun lebih tinggi di wilayah Perkotaan (39.7%) dibandingkan dengan wilayah Perdesaan (30%). Secara agregat (nasional gabungan), rata-rata prevalensinya adalah 35.4%. Hal ini mengindikasikan bahwa gaya hidup, pola makan, atau tingkat aktivitas fisik masyarakat di perkotaan berpotensi lebih memicu terjadinya obesitas dibandingkan masyarakat di perdesaan.

4. Visualisasi Data Numerik

Karena data asli dari Excel yang digunakan adalah data agregat (hanya ringkasan 3 angka), data tersebut tidak bisa dijadikan grafik distribusi (seperti Histogram). Oleh karena itu, untuk memenuhi prasyarat tugas visualisasi data numerik, di bawah ini disimulasikan sebaran Indeks Massa Tubuh (IMT) dari 200 responden hipotetis menggunakan distribusi normal dengan mean = 25 dan sd = 4 di salah satu perkotaan.

set.seed(123)

data_imt <- data.frame(
  IMT = rnorm(
    n = 200,
    mean = 25,
    sd = 4
  )
)

ggplot(
  data = data_imt,
  aes(x = IMT)
) +
  geom_histogram(
    fill = "steelblue",
    color = "white",
    bins = 20
  ) +
  geom_vline(
    aes(xintercept = mean(IMT)),
    color = "red",
    linetype = "dashed",
    linewidth = 1
  ) +
  labs(
    title = "Distribusi Indeks Massa Tubuh (IMT) Simulasi",
    subtitle = "Data simulasi sebanyak 200 observasi",
    x = "Indeks Massa Tubuh (IMT)",
    y = "Frekuensi"
  ) +
  theme_minimal()

Histogram di atas menunjukkan distribusi data numerik dari Indeks Massa Tubuh responden. Bentuk grafik yang menyerupai lonceng (bell-curve) menunjukkan bahwa data terdistribusi secara normal. Mayoritas responden memusat pada nilai IMT di angka 25 (ditandai dengan garis putus-putus merah). Sebagian kecil responden memiliki IMT di bawah 20 (kurus) dan di atas 30 (sangat obesitas).