Data yang digunakan adalah data Susenas KOR Individu Tahun 2022 Bagian Pertama kolom R612. Data ini berisikan Tingkatan Pendidikan Terakhir Penduduk Jawa Barat Tahun 2022. Visualisasi yang diberikan memuat komposisi pendidikan terakhir penduduk Jawa Barat. Jenis visualisasi yang digunakan adalah Pie Chart dan Mosaic Chart

# Mengimpor library yang diperlukan
library(ggplot2)
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
# Membaca file CSV
data <- read.csv("D:/visdat/susenas.csv")
str(data)
## 'data.frame':    85806 obs. of  207 variables:
##  $ X      : int  0 1 2 3 4 5 6 7 8 9 ...
##  $ URUT   : int  1241 1241 1241 1242 1242 1243 1243 1244 1244 1245 ...
##  $ WI1    : int  32776 32776 32776 32774 32774 32773 32773 32775 32775 32775 ...
##  $ WI2    : int  2475 2475 2475 2476 2476 2477 2477 2478 2478 2479 ...
##  $ PSU    : int  9848 9848 9848 21091 21091 10938 10938 21090 21090 21090 ...
##  $ SSU    : int  119395 119395 119395 119419 119419 118495 118495 119406 119406 119413 ...
##  $ STRATA : int  841081 841081 841081 841081 841081 841081 841081 841081 841081 841081 ...
##  $ R101   : int  32 32 32 32 32 32 32 32 32 32 ...
##  $ R102   : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ R105   : int  2 2 2 2 2 2 2 2 2 2 ...
##  $ R401   : int  1 2 3 1 2 1 2 1 2 1 ...
##  $ R403   : int  1 2 3 1 3 1 2 1 2 1 ...
##  $ R404   : int  2 2 1 2 1 2 2 2 2 2 ...
##  $ R405   : int  1 2 2 1 1 1 2 1 2 1 ...
##  $ R406A  : int  2 4 2 10 25 12 3 6 4 8 ...
##  $ R406B  : int  4 6 4 5 2 10 7 3 8 4 ...
##  $ R406C  : int  1957 1975 2007 1995 2019 1962 1965 1965 1970 1993 ...
##  $ R407   : int  64 46 14 26 3 59 56 57 51 28 ...
##  $ R408   : int  1 1 0 1 0 1 1 1 1 1 ...
##  $ R409   : int  20 18 0 23 0 20 17 18 14 19 ...
##  $ R410   : int  2 2 2 1 1 1 1 2 2 2 ...
##  $ R501   : int  5 5 0 2 0 5 5 5 5 1 ...
##  $ R502   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ R503   : int  0 0 2 0 0 0 0 0 0 0 ...
##  $ R504   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ R506   : int  1 2 2 1 1 1 2 1 2 1 ...
##  $ R507   : int  1 1 1 1 3 2 2 1 1 1 ...
##  $ R508   : int  5 5 1 1 1 5 5 5 5 5 ...
##  $ R509   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ R601   : int  32 32 32 32 32 32 32 32 32 32 ...
##  $ R602   : int  3 3 3 3 3 3 3 3 3 3 ...
##  $ R603   : int  32 32 32 32 NA 32 32 32 32 32 ...
##  $ R604   : int  3 3 3 3 NA 2 3 3 3 3 ...
##  $ R605   : int  0 0 0 0 4 0 0 0 0 0 ...
##  $ R606   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R607   : int  1 1 1 1 0 1 1 1 1 1 ...
##  $ R608   : int  5 5 5 1 0 5 5 5 5 5 ...
##  $ R609   : int  5 5 5 5 0 5 5 5 5 5 ...
##  $ R610   : int  3 3 3 3 0 3 3 3 3 3 ...
##  $ R611   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R612   : int  3 3 3 8 0 3 3 3 3 8 ...
##  $ R613   : int  8 8 8 8 0 1 8 8 8 8 ...
##  $ R614   : int  3 3 3 8 0 25 3 3 3 8 ...
##  $ R615   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R616   : int  0 0 5 5 0 0 0 0 0 5 ...
##  $ R617   : int  0 0 5 5 0 0 0 0 0 5 ...
##  $ R618   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R619   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R620   : int  0 0 3 0 0 0 0 0 0 0 ...
##  $ R621   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R622   : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ R701   : int  1 5 5 5 0 5 5 1 5 1 ...
##  $ R702_A : chr  "A" "A" "" "A" ...
##  $ R702_B : chr  "" "" "" "" ...
##  $ R702_C : chr  "C" "" "C" "C" ...
##  $ R702_D : chr  "D" "" "D" "" ...
##  $ R702_X : chr  "" "" "" "" ...
##  $ R703   : int  1 1 3 1 0 1 3 1 3 1 ...
##  $ R704   : int  0 0 5 0 0 0 5 0 0 0 ...
##  $ R705   : int  1 1 0 12 0 11 0 1 1 1 ...
##  $ R706   : int  2 6 0 4 0 6 0 1 5 2 ...
##  $ R707   : int  30 30 0 63 0 63 0 48 36 16 ...
##  $ R708   : int  42 30 0 63 0 63 0 48 36 16 ...
##  $ R801   : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ R802   : int  1 5 1 1 5 5 5 5 1 1 ...
##  $ R807_A : chr  "" "" "" "" ...
##  $ R807_B : chr  "" "" "" "" ...
##  $ R807_C : chr  "" "" "" "" ...
##  $ R807_X : chr  "X" "X" "X" "X" ...
##  $ R808   : int  5 5 1 1 1 1 1 5 5 1 ...
##  $ R809_A : chr  "" "" "" "" ...
##  $ R809_B : chr  "" "" "" "" ...
##  $ R809_C : chr  "" "" "" "" ...
##  $ R809_D : chr  "" "" "D" "D" ...
##  $ R809_E : chr  "" "" "" "" ...
##  $ R810_A : chr  "" "" "A" "A" ...
##  $ R810_B : chr  "" "" "B" "" ...
##  $ R810_C : chr  "" "" "" "C" ...
##  $ R810_D : chr  "" "" "" "" ...
##  $ R810_E : chr  "" "" "E" "" ...
##  $ R810_F : logi  NA NA FALSE NA NA NA ...
##  $ R811_A : chr  "" "" "A" "" ...
##  $ R811_B : chr  "" "" "" "" ...
##  $ R811_C : chr  "" "" "" "" ...
##  $ R811_D : chr  "" "" "D" "D" ...
##  $ R811_E : chr  "" "" "" "" ...
##  $ R811_F : logi  NA NA NA NA NA NA ...
##  $ R811_G : chr  "" "" "" "" ...
##  $ R811_H : chr  "" "" "" "" ...
##  $ R811_I : chr  "" "" "" "" ...
##  $ R811_J : chr  "" "" "J" "J" ...
##  $ R811_K : chr  "" "" "" "" ...
##  $ R811_L : chr  "" "" "" "" ...
##  $ R812   : int  5 5 5 5 0 5 5 5 5 5 ...
##  $ R901   : int  5 5 1 1 1 5 5 5 5 1 ...
##  $ R902   : int  0 0 1 1 1 0 0 0 0 2 ...
##  $ R903   : int  0 0 1 0 0 0 0 0 0 2 ...
##  $ R904   : int  0 0 1 7 7 0 0 0 0 1 ...
##  $ R905   : int  5 5 5 5 5 5 5 5 5 5 ...
##   [list output truncated]

Pengkategorian Nilai Kolom ke dalam Kategori

# Mengkategorikan nilai kolom R612 ke dalam 8 kategori
data$kategori <- cut(data$R612, breaks = c(0, 5, 10, 17, 20, 21, 22, 23, 24),
                     labels = c("SD/Sederajat", "SMP/Sederajat", "SMA/Sederajat",
                                "Diploma", "Sarjana", "Profesi", "Magister", "Doktoral"))

# Menghitung jumlah data untuk setiap kategori
kategori_count <- data %>% group_by(kategori) %>% summarise(count = n())

Membuat Pie Chart

# Membuat pie chart
pie_chart <- ggplot(kategori_count, aes(x = "", y = count, fill = kategori)) +
  geom_bar(stat = "identity") +
  coord_polar("y") +
  labs(fill = "Kategori") +
  theme_void() +
  labs(title = "Diagram Lingkaran Komposisi Pendidikan Terakhir Penduduk Jawa Barat 2022",
       fill = "Tingkatan Pendidikan") +
  theme(legend.position = "right") +
  geom_text(aes(label = paste0(kategori,"\n(",count,")")), 
            position = position_stack(vjust=0.5), color="white",
            size = 2)
print(pie_chart)

### Membuat Mosaic Chart

# Membuat mosaic chart
mosaic_chart <- ggplot(data) +
  geom_bar(aes(x = "", fill = kategori), width = 1) +
  facet_wrap(~ kategori, nrow = 2) +
  theme_void() +
  theme(legend.position = "none")

# Menampilkan pie chart dan mosaic chart
print(mosaic_chart)