Tugas Praktikum Visualisasi Data

Rakesha Putra Antique Yusuf
2024-03-02

Visualisasi Data Susenas 2023

Data

individu <- read.csv("C:/Users/RAKESHA/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv", header = TRUE, sep=",")

Visualisasi Besaran (Bar Chart & Lolipop Chart)

Besaran Top 10 Umur Perkawinan Pertama di Jawa Barat

individu %>%
  count(R409) %>%
  slice_max(n = 10, order_by = n) %>% 
  ggplot() +
  geom_col(aes(x = fct_reorder(as.factor(R409), n), y = n), fill = "#FFBBA6", width = 0.4) +
  geom_text(aes(x = fct_reorder(as.factor(R409), n), y = n, label = n),
            position = position_stack(vjust = 0.5), color = "#162114", size = 3) +
  scale_y_continuous(expand = c(0, 0)) +
  coord_flip() +
  ggtitle("Top 10 Umur Perkawinan Pertama") +
  xlab("Umur Perkawinan") +
  ylab("") +
  theme_classic() +
  theme(plot.title = element_text(hjust = 0.5, size = 15))

dari data di atas responden memiliki umur perkawinan pertama di umur 20 tahun, sebanyak 5795 responden.Lalu di posisi ke-dua dan ke-tiga memiliki umur perkawinan 25 dan 18 tahun.

Top 5 Terbawah Umur Perkawinan Pertama di Jawa Barat

individu %>%
  count(R409) %>%
  slice_min (n = 10, order_by = n) %>% # gunakan arrange(n) untuk mengurutkan sebaliknya
  ggplot() +
  geom_segment(aes(x = fct_reorder(as.factor(R409), n), xend = fct_reorder(as.factor(R409), n), y = 0, yend = n), color = "green") +
  geom_point(aes(x = fct_reorder(as.factor(R409), n), y = n), color = "red", size = 2) +
  scale_y_continuous(expand = c(0, 0)) +
  coord_flip() +
  ggtitle("Top 10 Terbawah Umur Perkawinan Pertama") +
  xlab("") +
  ylab("Umur Perkawinan") +
  theme_light() +
  theme(plot.title = element_text(hjust = 0.5))

Bar chart di atas yang memiliki umur perkawinan yang terbawah. Untuk umu 9, 52, 53, 54, 56, 62, dan 77 masing masing ada 1 respon sementara sisanya, yaitu 58 hingga 61, 64, dan 98 masing masing ada 2 responden

Visualisasi Sebaran (Histogram, QQ Plot, dan Box Plot)

Visualisasi Sebaran Histogram Umur Perkawinan Pertama

ggplot(individu)+
  geom_histogram(aes(x= R407),fill="#5D2510", color="cornsilk", alpha=0.5)+
  geom_vline(aes(xintercept=mean(R407)),
            color="blue", linetype="dashed", linewidth=1)+
  labs(title="Histogram Sebaran Umur Perkawinan Pertama")+
  xlab("Umur Pekawinan")+
  ylab("Jumlah")+
  xlim(1,100)

Pada histogram di atas menunjukan umur perkawinan pertama memiliki sebaran menjulur ke kanan. Dengan rata ratanya ditandai oleh garis putus putus berwarna biru

Sebaran QQ Plot Umur Perkawinan Pertama

qqnorm(individu$R407, main = "QQ Plot Umur Perkawinan Pertama")
qqline(individu$R407, col = "red")

Dari QQ Plot di atas juga dibuktikan sebaran umur perkawinan pertaman menjulur ke kanan mendominasi

Sebaran Boxplot Umur Perkawinan Pertama

boxplot(individu$R407,
        main = "Sebaran Umur Perkawinan Pertama", col = "#6A6F4C")

Dari box plot di atas juga menunjukan bahwa sebaran umur perkawinan pertama memiliki sebaran yang menjulur ke kanan, selain itu juga dapat disimpulkan pada data umur perkawinan pertama tidak ada outlier

Visualisasi Komposisi(Pie Chart dan Treemap Chart)

Komposisi Pie Chart Kegiatan yang Menghabiskan Waktu Paling Banyak

individu$R704 <- as.numeric(individu$R704)
data_pie <- individu %>%
  mutate(R704 = ifelse(R704 == 1, "Bekerja", ifelse(R704 == 2, "Sekolah", ifelse(R704 == 3, "Mengurus Rumah Tangga", "Lainnya Selain Urusan Pribadi"))))  %>%
  count(R704) %>%
  mutate(percentage = prop.table(n) * 100)

ggplot(data_pie, aes(x = "", y = percentage , fill = R704)) +
  geom_bar(stat = "identity", width = 1) +
  coord_polar("y", start = 0) +
  scale_fill_brewer(palette = "Accent") +
  theme_void() +
  theme(legend.position = "right") +
  labs(title = "Komposisi Kegiatan yang Menghabiskan Waktu Terbanyak", fill = "Kegiatan") +
  geom_text(aes(label = paste0(round(percentage), "%")), position = position_stack(vjust = 0.5))

Pada pie chart di atas menunjukan kegiatan yang menghabiskan waktu terbanyak responden adalah bekerja dengan persentase sekitar 41% dan yang paling sedikit adalah sekolah dengan persentase 14%

Komposisi Donut Pie chart Jenis Kelamin Responden

individu %>% 
  group_by(R405) %>% 
  summarise(count = n())
# A tibble: 2 × 2
   R405 count
  <int> <int>
1     1 42722
2     2 41966
data <- data.frame(
  category=c("Perempuan", "Laki-laki"),
  count=c(41966, 42722))

# Calculate additional columns
data$fraction <- data$count / sum(data$count)
data$ymax <- cumsum(data$fraction)
data$ymin <- c(0, head(data$ymax, n=-1))

data$fraction = data$count / sum(data$count)
data$ymax = cumsum(data$fraction)
data$ymin = c(0, head(data$ymax, n=-1))
 
ggplot(data, aes(ymax=ymax, ymin=ymin, xmax=4, xmin=3, fill=category)) +
    geom_rect() +
    coord_polar(theta="y") +
    xlim(c(2, 4)) +
    labs(title = "Komposisi Jenis Kelamin Responden") +
    scale_fill_brewer(palette = "Set3") +
    theme_classic()

Donut pie chart di atas menunjukan komposisi jenis kelamin responden di mana dapat diambil kesimpilan jika perbandingan laki laki perempuan hampir sama dengan jumlah laki laki lebih banyak