library(readxl)
DataQonita <- read_xlsx("C:\\Users\\ASUS\\Documents\\Nita\\SEMESTER 4\\Visdat\\PRAKTIKUM 5\\Data Susenas_Tugas.xlsx")
DataQonita
## # A tibble: 1,989 × 14
## R405 R406A R406B Tahun R407 R408 R409 R607 R608 R6T09 R621 R703 R807
## <chr> <dbl> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 Laki… 2 April 1957 64 1 20 1 2 2 0 1 0
## 2 Pere… 4 Juni 1975 46 1 18 1 2 2 0 1 0
## 3 Pere… 2 April 2007 14 0 NA 1 2 2 0 3 2
## 4 Laki… 10 Mei 1995 26 1 23 1 1 2 0 1 0
## 5 Laki… 25 Febr… 2019 3 0 NA 2 2 2 0 0 0
## 6 Laki… 12 Okto… 1962 59 1 20 1 2 2 0 1 0
## 7 Pere… 3 Juli 1965 56 1 17 1 2 2 0 3 0
## 8 Laki… 6 Maret 1965 57 1 18 1 2 2 0 1 0
## 9 Pere… 4 Agus… 1970 51 1 14 1 2 2 0 3 0
## 10 Laki… 8 April 1993 28 1 19 1 2 2 0 1 0
## # ℹ 1,979 more rows
## # ℹ 1 more variable: R612 <dbl>
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'ggplot2' 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
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── 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
library(ggridges)
library(GGally)
## Warning: package 'GGally' was built under R version 4.3.2
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(ggplot2)
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.3
library(treemapify)
## Warning: package 'treemapify' was built under R version 4.3.3
library(nycflights13)
## Warning: package 'nycflights13' was built under R version 4.3.3
DataQonita %>%
count(R406B) %>%
ggplot() +
geom_segment(aes(x = fct_reorder(as.factor(R406B), n), xend = fct_reorder(as.factor(R406B), n), y = 0, yend = n), color = "paleturquoise3") +
geom_point(aes(x = fct_reorder(as.factor(R406B), n), y = n), color = "palevioletred1", size = 3) +
scale_y_continuous(expand = c(0, 0)) +
coord_flip() +
ggtitle("Number of Household Members Based on Month of Birth") +
xlab("Month") +
ylab("Number of Household Members") +
theme_light() +
theme(plot.title = element_text(hjust = 0))
Lolipop chart ini menampilkan jumlah anggota rumah tangga berdasarkan bulan lahirnya, yang ditampilkan sesuai urutan jumlah terbesar ke terkecil. Hal yang dapat kita peroleh yaitu, Jumlah anggota keluarga paling banyak lahir pada Bulan Agustus, Juli dan Juni dan paling sedikit adalah lahir pada Bulan Novemver, Februari, dan September. Lalu urutan bulan berdasarkan banyaknya anggota rumah tangga yang lahir di bulan tersebut dari terbesar ke terkecil adalah Agustus, Juli, Juni, Mei, April, Maret, Oktober, Januari, September, Februari, Desember dan November.
data_stacked <- DataQonita %>%
filter(R409 %in% c(20, 27, 17, 14, 30))
ggplot(data_stacked, aes(x = as.factor(R405), y = frequency(R409), fill = as.factor(R409))) +
geom_bar(stat = "identity") +
labs(fill = "age") +
ggtitle("Age of Household Members at Marriage") +
xlab("Gender") +
ylab("Frequency") +
scale_fill_manual(values = c("20" = "#33FF00", "27" = "#003300", "17" = "#99FF00", "14" = "#CCFF00" , "30" = "#339966")) +
theme_minimal()
Stacked Bar Chart ini menampilkan besaran untuk usia anggota keluarga saat melangsungkan pernikahan, dengan usia yang diambil dan dibandingkan adalah 14, 17, 20, 27, dan 30 tahun. Informasi yang dapat diperoleh dari stacked bar chart ini adalah membandingkan banyaknya anggota keluarga yang menikah pada usia 14, 17, 20, 27, dan 30 tahun baik pada laki-laki dan perempuan. Didapat bahwa baik pada laki-laki maupun perempuan, usia saat menikah dengan jumlah anggota rumah tangga terbanyak adalah 20 tahun dan terendah adalah pada usia 14 tahun. Namun, dapat dilihat juga bahwa pada usia termuda (14 tahun), Perempuan lebih banyak yang sudah melangsungkan pernikahan dibandingkan dengan laki-laki. begitu pula pada usia 17 tahun dan 30 tahun, perempuan lebih banyak yang melangsungkan pernikahan pada usia tersebut dibandingkan dengan laki-laki. selain itu pada usia 27 tahun, justru laki-laki yang lebih banyak melangsungkan pernikahan pada usia tersebut dibandingkan dengan permepuan.
ggplot(DataQonita, aes(x = R409)) +
geom_density(fill = "#9966cc", alpha = 0.5) +
labs(title = "Age of Household Members at Marriage",
x = "Age", y = "Density") +
theme_minimal()
## Warning: Removed 860 rows containing non-finite values (`stat_density()`).
Density Plot tersebut menampilkan visualisasi sebaran data dengan data usia anggota rumah tangga saat menikah. Dari density plot tersebut, diperoleh informasi bahwa data usia anggota keluarga saat menikah tersebut menjulur ke kanan atau ekor terdapat di sebelah kanan (skewed right atau positively skewed) di mana data di sebelah kanan memiliki frekuensi lebih kecil dari data sebelah kiri. Dari Density plot tersebut juga dapat dilihat bahwa sebaran data tertinggi terdapat di sekitar 20. Jadi dapat disimpulkan bahwa data usia anggota rumah tangga saat menikah menjulur ke kanan (skewed right atau positively skewed) dengan median di sekitar 20 tahun atau frekuensi tertinggi dari usia anggota rumah tangga saat menikah adalah sekitar 20 tahun.
ggplot(DataQonita, aes(x = "", y = R407)) +
geom_violin(fill = "#339966", alpha = 0.5) +
geom_boxplot(width = 0.1, color = "black", fill = "white", outlier.shape = NA) +
labs(title = "Violin Plot and Boxplot: Age Distribution of Household Members",
x = NULL,
y = "Age") +
coord_flip() +
theme_minimal()
Violin plot dan boxplot tersebut menampilkan visualisasi sebaran data dengan data usia anggota rumah tangga secara keseluruhan. Dari violin dan boxplot tersebut, diperoleh informasi bahwa data usia anggota keluarga secara keseluruhan tersebut menjulur ke kanan atau ekor terdapat di sebelah kanan (skewed right atau positively skewed) di mana data di sebelah kanan memiliki frekuensi lebih kecil dari data sebelah kiri.
data <- data.frame(
category=c("Working", "Not at school", "Other", "Taking care of the household", "At school"),
count=c(775, 367, 100, 456, 291 )
)
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 = "Composition of Activities of Household Members", fill = "Activities") +
theme_minimal()
Donut Chart atau diagram donat tersebut menampilkan visualisasi komposisi. Data yang ditampilkan dalam donut chart tersebut adalah data komposisi kegiatan anggota rumah tangga, dengan kegiatan dibagi menjadi lima bagian yaitu sekolah, belum sekolah, mengurus rumah tangga, bekerja, dan kegiatan lainnya. dapat dilihat dari donut chart tersebut, aktivitas bekerja merupakan aktivitas dengan komposisi tertinggi dibandingkan dengan empat kegiatan lainnya dengan 0,375 bagian atau 37,5% dari total anggota rumah tangga yang ada. Kemudian komposisi tertinggi selanjutnya adalah mengurus rumah tangga, belum sekolah, sekolah, dan komposisi terkecil ada pada kegiatan lainnya.
treemap(DataQonita,
index=c("R703", "R612"),
vSize="R807",
algorithm="pivotSize",
draw = TRUE,
title="Treemap: Computer Ownership Based on Activity and Education Level",
fontsize.title=15,
fontsize.labels=12,
fontcolor.labels="white")
Treemap tersebt memvisualisasikan komposisi data, dengan data yaitu kepemilikan komputer berdasarkan kegiatan yang dilakukan serta jenjang perdidikan anggota rumah tangga. Dari Treemap tersebut dapat dilihat bahwa komposisi tertinggi kepemilikan komputer terdapat pada kegiatan anggota rumah tangga “bekerja” dengan tingkat pendidikan yang beragam. Serta komposisi terendah komputer terdapat pada kegiatan anggota rumah tangga “Kegiatan” dengan tingkat pendidikan yang beragam.