Read Data

Membaca data dari data susenas dengan command read.csv

library(readr)
## Warning: package 'readr' was built under R version 4.3.2
susenas <- read.csv("D:\\Statistika dan Sains Data\\Semester 4\\Visualisasi Data\\2023 Maret JABAR - SUSENAS KOR Rumah Tangga.csv")

Mengganti nama kolom

Disini saya merubah kolom pertanyaan R2001H menjadi motor dan R2001K menjadi mobil.

motor <- susenas$R2001H
mobil <- susenas$R2001K
motormobil <- as.data.frame(motor,mobil)

Membuka Library

Membuka semua library yang diperlukan

library(tidyverse) 
## Warning: package 'tidyverse' 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     ✔ purrr     1.0.2
## ✔ forcats   1.0.0     ✔ stringr   1.5.0
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ── 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)
## Warning: package 'ggridges' was built under R version 4.3.2
library(GGally) 
## Warning: package 'GGally' was built under R version 4.3.2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(plotly) 
## Warning: package 'plotly' was built under R version 4.3.2
## 
## Attaching package: 'plotly'
## 
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## 
## The following object is masked from 'package:stats':
## 
##     filter
## 
## The following object is masked from 'package:graphics':
## 
##     layout
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.2

Mengganti isi kolom

Saya merubah value kolom motor, jika 1 maka Punya tapi ketika 5 maka Tidak Punya.

susenas$motor = ifelse (motor == 1, "Punya", "Tidak Punya")
susenas$mobil = ifelse (mobil == 1, "Punya", "Tidak Punya")

Diagram Besaran

Bar Chart

susenas %>% 
ggplot(aes(x = motor)) +
  geom_bar(fill = "#FF7F00") +
  labs(title = "Pemilik Motor", x = "Motor", y = "Jumlah Pemilik") +
  theme_classic() 

Stacked Barchart

kotakab <- susenas %>% mutate(kokab = ifelse(R102<=18,"kab","kota"))
data_1 <- as.data.frame(
  table(kotakab$kokab,susenas$R2001H,susenas$R2001K)
)

data_1 %>% 
  ggplot(aes(x=Var1,y=Freq,fill=Var2))+
  geom_bar(stat="identity") +
  labs (title = "Kepemilikan Motor di Kota dan Kabupaten", x = "Kepemilikan Motor", y = "Jumlah Pemilik") +
  guides(fill = guide_legend(title = "Punya atau Tidak"))

Diagramm Sebaran

Diagram Histogram

ggplot(susenas)+
  geom_histogram(aes(x=R1804),fill="#FF7F00", color="black")+
  labs(title="Histogram Sebaran Luas Tanah Rumah Bangunan Tempat Tinggal")+
  xlab("Luas Tanah")+
  ylab("Jumlah")+
  xlim(0,350)
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 101 rows containing non-finite values (`stat_bin()`).
## Warning: Removed 2 rows containing missing values (`geom_bar()`).

Diagram Density Plot

ggplot(susenas)+
  geom_density(aes(x=R1804,fill= "Luas Tanah" ),color="#FF7F00")+
  labs(title="Density Plot Sebaran Luas Tanah Rumah Bangunan Tempat Tinggal")+
  xlab("Luas Tanah")+
  ylab("Jumlah")+
  xlim(0,350)
## Warning: Removed 101 rows containing non-finite values (`stat_density()`).

Membuat Data Frame

datamotor <- data.frame(
  kriteria = c("Punya Motor", "Tidak Punya Motor"),
  jml = c(18926, 6964)
)

Diagram Komposisi

Diagram Pie Chart

ggplot(datamotor, aes(x = 2, y = jml, fill = kriteria)) +
  geom_bar(stat = "identity", color = "white", width = 1) +
  coord_polar(theta = "y") +
  theme_void() +
  labs(title = "Data Kepemlikan Motor", fill = "Kepemilikan")

Diagram Pie Chart

treemap(susenas, 
        index=c("R2001H", "R2001K"), 
        vSize="R102",
        draw=TRUE,
        title="Treemap: Kepemilikan Motor dan Mobil",
        fontsize.title=20,
        fontsize.labels=12,
        fontcolor.labels="white")