#Pengaruh Jenis Kelamin terhadap Konsumsi Rokok
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.4.2
##
## 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
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
djk <- subset(susenas, R101 == 32, select = c(R101, R405,R1208))
# Melihat ringkasan data
summary(djk)
## R101 R405 R1208
## Min. :32 Min. :1.000 Min. : 0.00
## 1st Qu.:32 1st Qu.:1.000 1st Qu.: 0.00
## Median :32 Median :1.000 Median : 0.00
## Mean :32 Mean :1.496 Mean : 18.82
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.: 0.00
## Max. :32 Max. :2.000 Max. :560.00
head(djk)
## R101 R405 R1208
## 1 32 2 0
## 2 32 2 0
## 3 32 2 0
## 4 32 1 0
## 5 32 2 0
## 6 32 1 35
nrow(djk)
## [1] 84688
# Membersihkan data (menghapus baris dengan missing values)
djk_clean <- djk %>%
filter(!is.na(R405) & !is.na(R1208)) %>%
mutate(Jenis_Kelamin = factor(R405, levels = c(1, 2), labels = c("Laki-laki", "Perempuan")))
# Melihat ringkasan data
summary(djk_clean)
## R101 R405 R1208 Jenis_Kelamin
## Min. :32 Min. :1.000 Min. : 0.00 Laki-laki:42722
## 1st Qu.:32 1st Qu.:1.000 1st Qu.: 0.00 Perempuan:41966
## Median :32 Median :1.000 Median : 0.00
## Mean :32 Mean :1.496 Mean : 18.82
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.: 0.00
## Max. :32 Max. :2.000 Max. :560.00
# Melihat 6 baris pertama data
head(djk_clean)
## R101 R405 R1208 Jenis_Kelamin
## 1 32 2 0 Perempuan
## 2 32 2 0 Perempuan
## 3 32 2 0 Perempuan
## 4 32 1 0 Laki-laki
## 5 32 2 0 Perempuan
## 6 32 1 35 Laki-laki
# Menghitung jumlah baris data
nrow(djk_clean)
## [1] 84688
# Hitung rata-rata konsumsi rokok per jenis kelamin
rata_rokok <- djk_clean %>%
group_by(Jenis_Kelamin) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat bar chart
ggplot(rata_rokok, aes(x = Jenis_Kelamin, y = Rata_Rata_Rokok, fill = Jenis_Kelamin)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Jenis Kelamin",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Jenis Kelamin",
y = "Rata-Rata Rokok per Minggu",
fill = "Jenis Kelamin"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
# Membuat box plot
ggplot(djk_clean, aes(x = Jenis_Kelamin, y = R1208, fill = Jenis_Kelamin)) +
geom_boxplot() +
labs(
title = "Distribusi Konsumsi Rokok per Minggu Berdasarkan Jenis Kelamin",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Jenis Kelamin",
y = "Rata-Rata Rokok per Minggu",
fill = "Jenis Kelamin"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
#Pengaruh Tingkat Pendidikan terhadap Konsumsi Rokok
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
djp <- subset(susenas, R101 == 32, select = c(R101, R614, R1208))
# Membersihkan data (menghapus baris dengan missing values)
djp_clean <- djp %>%
filter(!is.na(R614) & !is.na(R1208)) %>%
mutate(
Tingkat_Pendidikan = factor(R614, levels = 1:25, labels = c(
"Paket A", "SDLB", "SD", "MI", "SPM/PDF Ula", "Paket B", "SMPLB", "SMP", "MTs", "SPM/PDF Wustha",
"Paket C", "SMLB", "SMA", "MA", "SMK", "MAK", "SMP/PDF Ulya", "D1/D2", "D3", "D4", "S1", "Profesi", "S2", "S3", "Tidak Punya Ijazah SD"
))
)
# Melihat ringkasan data
summary(djp_clean)
## R101 R614 R1208 Tingkat_Pendidikan
## Min. :32 Min. : 0.0 Min. : 0.00 SD :22586
## 1st Qu.:32 1st Qu.: 3.0 1st Qu.: 0.00 SMP :13673
## Median :32 Median : 8.0 Median : 0.00 Tidak Punya Ijazah SD:13663
## Mean :32 Mean :10.4 Mean : 18.82 SMA :13292
## 3rd Qu.:32 3rd Qu.:15.0 3rd Qu.: 0.00 S1 : 3864
## Max. :32 Max. :25.0 Max. :560.00 (Other) : 7823
## NA's : 9787
# Melihat 6 baris pertama data
head(djp_clean)
## R101 R614 R1208 Tingkat_Pendidikan
## 1 32 3 0 SD
## 2 32 19 0 D3
## 3 32 8 0 SMP
## 4 32 25 0 Tidak Punya Ijazah SD
## 5 32 3 0 SD
## 6 32 3 35 SD
# Menghitung jumlah baris data
nrow(djp_clean)
## [1] 84688
# Hitung rata-rata konsumsi rokok per tingkat pendidikan
rata_rokok_pendidikan <- djp_clean %>%
group_by(Tingkat_Pendidikan) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat bar chart
ggplot(rata_rokok_pendidikan, aes(x = reorder(Tingkat_Pendidikan, -Rata_Rata_Rokok), y = Rata_Rata_Rokok, fill = Tingkat_Pendidikan)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Tingkat Pendidikan",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Tingkat Pendidikan",
y = "Rata-Rata Rokok per Minggu",
fill = "Tingkat Pendidikan"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1, size = 10) # Memutar label sumbu x agar tidak tumpang tindih
)
# Membuat box plot
ggplot(djp_clean, aes(x = reorder(Tingkat_Pendidikan, -R1208), y = R1208, fill = Tingkat_Pendidikan)) +
geom_boxplot() +
labs(
title = "Distribusi Konsumsi Rokok per Minggu Berdasarkan Tingkat Pendidikan",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Tingkat Pendidikan",
y = "Rata-Rata Rokok per Minggu",
fill = "Tingkat Pendidikan"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1, size = 10)
)
library(dplyr)
library(ggplot2)
# Membuat kolom baru untuk mengelompokkan tingkat pendidikan
djp2 <- djp_clean %>%
mutate(
Kelompok_Pendidikan = case_when(
Tingkat_Pendidikan %in% c("S1", "S2", "S3", "Profesi", "D1/D2", "D3", "D4") ~ "Pendidikan Tinggi",
Tingkat_Pendidikan %in% c("SD", "SMP", "Paket A", "SDLB", "MI", "SPM/PDF Ula") ~ "Pendidikan Rendah",
TRUE ~ "Lainnya"
)
)
# Menghitung rata-rata konsumsi rokok per kelompok pendidikan
rata_rokok_kelompok <- djp2 %>%
filter(Kelompok_Pendidikan %in% c("Pendidikan Tinggi", "Pendidikan Rendah")) %>%
group_by(Kelompok_Pendidikan) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat bar chart
ggplot(rata_rokok_kelompok, aes(x = Kelompok_Pendidikan, y = Rata_Rata_Rokok, fill = Kelompok_Pendidikan)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu: Pendidikan Tinggi vs Rendah",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Kelompok Pendidikan",
y = "Rata-Rata Rokok per Minggu",
fill = "Kelompok Pendidikan"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
#Status perkawinan
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
djs <- subset(susenas, R101 == 32, select = c(R101, R404, R1208))
# Membersihkan data (menghapus baris dengan missing values)
djs_clean <- djs %>%
filter(!is.na(R404) & !is.na(R1208)) %>%
mutate(
Status_Perkawinan = factor(R404, levels = 1:4, labels = c("Belum Kawin", "Kawin", "Cerai Hidup", "Cerai Mati"))
)
# Melihat ringkasan data
summary(djs_clean)
## R101 R404 R1208 Status_Perkawinan
## Min. :32 Min. :1.000 Min. : 0.00 Belum Kawin:35893
## 1st Qu.:32 1st Qu.:1.000 1st Qu.: 0.00 Kawin :42330
## Median :32 Median :2.000 Median : 0.00 Cerai Hidup: 1851
## Mean :32 Mean :1.707 Mean : 18.82 Cerai Mati : 4614
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.: 0.00
## Max. :32 Max. :4.000 Max. :560.00
# Melihat 6 baris pertama data
head(djs_clean)
## R101 R404 R1208 Status_Perkawinan
## 1 32 4 0 Cerai Mati
## 2 32 2 0 Kawin
## 3 32 1 0 Belum Kawin
## 4 32 1 0 Belum Kawin
## 5 32 3 0 Cerai Hidup
## 6 32 1 35 Belum Kawin
# Menghitung jumlah baris data
nrow(djs_clean)
## [1] 84688
# Hitung rata-rata konsumsi rokok per status perkawinan
rata_rokok_status <- djs_clean %>%
group_by(Status_Perkawinan) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat bar chart
ggplot(rata_rokok_status, aes(x = reorder(Status_Perkawinan, -Rata_Rata_Rokok), y = Rata_Rata_Rokok, fill = Status_Perkawinan)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Status Perkawinan",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Status Perkawinan",
y = "Rata-Rata Rokok per Minggu",
fill = "Status Perkawinan"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
djs2 <- subset(susenas, R101 == 32, select = c(R101, R404, R405, R1208))
# Membersihkan data (menghapus baris dengan missing values)
djs2_clean <- djs2 %>%
filter(!is.na(R404) & !is.na(R405) & !is.na(R1208)) %>%
mutate(
Status_Perkawinan = factor(R404, levels = 1:4, labels = c("Belum Kawin", "Kawin", "Cerai Hidup", "Cerai Mati")),
Jenis_Kelamin = factor(R405, levels = c(1, 2), labels = c("Laki-laki", "Perempuan"))
)
# Melihat ringkasan data
summary(djk_clean)
## R101 R405 R1208 Jenis_Kelamin
## Min. :32 Min. :1.000 Min. : 0.00 Laki-laki:42722
## 1st Qu.:32 1st Qu.:1.000 1st Qu.: 0.00 Perempuan:41966
## Median :32 Median :1.000 Median : 0.00
## Mean :32 Mean :1.496 Mean : 18.82
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.: 0.00
## Max. :32 Max. :2.000 Max. :560.00
# Melihat 6 baris pertama data
head(djk_clean)
## R101 R405 R1208 Jenis_Kelamin
## 1 32 2 0 Perempuan
## 2 32 2 0 Perempuan
## 3 32 2 0 Perempuan
## 4 32 1 0 Laki-laki
## 5 32 2 0 Perempuan
## 6 32 1 35 Laki-laki
# Menghitung jumlah baris data
nrow(djk_clean)
## [1] 84688
# Hitung rata-rata konsumsi rokok per status perkawinan dan jenis kelamin
rata_rokok_status_kelamin <- djs2_clean %>%
group_by(Status_Perkawinan, Jenis_Kelamin) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
## `summarise()` has grouped output by 'Status_Perkawinan'. You can override using
## the `.groups` argument.
# Membuat grouped bar chart
ggplot(rata_rokok_status_kelamin, aes(x = Status_Perkawinan, y = Rata_Rata_Rokok, fill = Jenis_Kelamin)) +
geom_bar(stat = "identity", position = "dodge", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Status Perkawinan dan Jenis Kelamin",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Status Perkawinan",
y = "Rata-Rata Rokok per Minggu",
fill = "Jenis Kelamin"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.position = "top"
)
#interaksi ketiga variabel
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
dj3 <- subset(susenas, R101 == 32, select = c(R101, R404, R405, R614, R1208))
# Membersihkan data (menghapus baris dengan missing values)
dj3_clean <- dj3 %>%
filter(!is.na(R404) & !is.na(R405) & !is.na(R614) & !is.na(R1208)) %>%
mutate(
Status_Perkawinan = factor(R404, levels = 1:4, labels = c("Belum Kawin", "Kawin", "Cerai Hidup", "Cerai Mati")),
Jenis_Kelamin = factor(R405, levels = c(1, 2), labels = c("Laki-laki", "Perempuan")),
Tingkat_Pendidikan = factor(R614, levels = 1:25, labels = c(
"Paket A", "SDLB", "SD", "MI", "SPM/PDF Ula", "Paket B", "SMPLB", "SMP", "MTs", "SPM/PDF Wustha",
"Paket C", "SMLB", "SMA", "MA", "SMK", "MAK", "SMP/PDF Ulya", "D1/D2", "D3", "D4", "S1", "Profesi", "S2", "S3", "Tidak Punya Ijazah SD"
))
)
# Melihat ringkasan data
summary(dj3_clean)
## R101 R404 R405 R614 R1208
## Min. :32 Min. :1.000 Min. :1.000 Min. : 0.0 Min. : 0.00
## 1st Qu.:32 1st Qu.:1.000 1st Qu.:1.000 1st Qu.: 3.0 1st Qu.: 0.00
## Median :32 Median :2.000 Median :1.000 Median : 8.0 Median : 0.00
## Mean :32 Mean :1.707 Mean :1.496 Mean :10.4 Mean : 18.82
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:15.0 3rd Qu.: 0.00
## Max. :32 Max. :4.000 Max. :2.000 Max. :25.0 Max. :560.00
##
## Status_Perkawinan Jenis_Kelamin Tingkat_Pendidikan
## Belum Kawin:35893 Laki-laki:42722 SD :22586
## Kawin :42330 Perempuan:41966 SMP :13673
## Cerai Hidup: 1851 Tidak Punya Ijazah SD:13663
## Cerai Mati : 4614 SMA :13292
## S1 : 3864
## (Other) : 7823
## NA's : 9787
# Melihat 6 baris pertama data
head(dj3_clean)
## R101 R404 R405 R614 R1208 Status_Perkawinan Jenis_Kelamin
## 1 32 4 2 3 0 Cerai Mati Perempuan
## 2 32 2 2 19 0 Kawin Perempuan
## 3 32 1 2 8 0 Belum Kawin Perempuan
## 4 32 1 1 25 0 Belum Kawin Laki-laki
## 5 32 3 2 3 0 Cerai Hidup Perempuan
## 6 32 1 1 3 35 Belum Kawin Laki-laki
## Tingkat_Pendidikan
## 1 SD
## 2 D3
## 3 SMP
## 4 Tidak Punya Ijazah SD
## 5 SD
## 6 SD
# Menghitung jumlah baris data
nrow(dj3_clean)
## [1] 84688
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Hitung rata-rata konsumsi rokok per kombinasi variabel
heatmap_data <- dj3_clean %>%
group_by(Jenis_Kelamin, Tingkat_Pendidikan, Status_Perkawinan) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
## `summarise()` has grouped output by 'Jenis_Kelamin', 'Tingkat_Pendidikan'. You
## can override using the `.groups` argument.
# Membuat heatmap
ggplot(heatmap_data, aes(x = Tingkat_Pendidikan, y = Status_Perkawinan, fill = Rata_Rata_Rokok)) +
geom_tile() +
facet_wrap(~ Jenis_Kelamin) +
labs(
title = "Heatmap: Rata-Rata Konsumsi Rokok per Minggu",
subtitle = "Berdasarkan Jenis Kelamin, Tingkat Pendidikan, dan Status Perkawinan",
x = "Tingkat Pendidikan",
y = "Status Perkawinan",
fill = "Rata-Rata Rokok"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1, size = 10),
strip.text = element_text(size = 12, face = "bold") # Judul facet
)
# Hitung rata-rata konsumsi rokok per kombinasi variabel
facet_data <- dj3_clean %>%
group_by(Jenis_Kelamin, Tingkat_Pendidikan, Status_Perkawinan) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
## `summarise()` has grouped output by 'Jenis_Kelamin', 'Tingkat_Pendidikan'. You
## can override using the `.groups` argument.
# Membuat faceted bar chart
ggplot(facet_data, aes(x = Tingkat_Pendidikan, y = Rata_Rata_Rokok, fill = Status_Perkawinan)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ Jenis_Kelamin) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu",
subtitle = "Berdasarkan Jenis Kelamin, Tingkat Pendidikan, dan Status Perkawinan",
x = "Tingkat Pendidikan",
y = "Rata-Rata Rokok per Minggu",
fill = "Status Perkawinan"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text.x = element_text(angle = 45, hjust = 1, size = 10),
strip.text = element_text(size = 12, face = "bold") # Judul facet
)
#wilayah
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
djw <- subset(susenas, R101 == 32, select = c(R101, R105, R1208))
# Membersihkan data (menghapus baris dengan missing values)
djw_clean <- djw %>%
filter(!is.na(R105) & !is.na(R1208)) %>%
mutate(
Wilayah = factor(R105, levels = c(1, 2), labels = c("Kota", "Desa"))
)
# Melihat ringkasan data
summary(djw_clean)
## R101 R105 R1208 Wilayah
## Min. :32 Min. :1.000 Min. : 0.00 Kota:57206
## 1st Qu.:32 1st Qu.:1.000 1st Qu.: 0.00 Desa:27482
## Median :32 Median :1.000 Median : 0.00
## Mean :32 Mean :1.325 Mean : 18.82
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.: 0.00
## Max. :32 Max. :2.000 Max. :560.00
# Melihat 6 baris pertama data
head(djw_clean)
## R101 R105 R1208 Wilayah
## 1 32 2 0 Desa
## 2 32 2 0 Desa
## 3 32 2 0 Desa
## 4 32 2 0 Desa
## 5 32 1 0 Kota
## 6 32 1 35 Kota
# Menghitung jumlah baris data
nrow(djw_clean)
## [1] 84688
# Hitung rata-rata konsumsi rokok per wilayah
rata_rokok_wilayah <- djw_clean %>%
group_by(Wilayah) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat grouped bar chart
ggplot(rata_rokok_wilayah, aes(x = Wilayah, y = Rata_Rata_Rokok, fill = Wilayah)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Wilayah",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Wilayah",
y = "Rata-Rata Rokok per Minggu",
fill = "Wilayah"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
# Hitung rata-rata konsumsi rokok per wilayah
rata_rokok_wilayah <- djw_clean %>%
group_by(Wilayah) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat faceted bar chart
ggplot(rata_rokok_wilayah, aes(x = Wilayah, y = Rata_Rata_Rokok, fill = Wilayah)) +
geom_bar(stat = "identity", width = 0.7) +
facet_wrap(~ Wilayah) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Wilayah",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Wilayah",
y = "Rata-Rata Rokok per Minggu",
fill = "Wilayah"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
strip.text = element_text(size = 12, face = "bold") # Judul facet
)
#Mengulik
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data dari file CSV
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
dj4 <- subset(susenas, R101 == 32, select = c(R101, R105, R404, R405, R614, R1208))
# Membersihkan data (menghapus baris dengan missing values)
dj4_clean <- dj4 %>%
filter(!is.na(R105) & !is.na(R404) & !is.na(R405) & !is.na(R614) & !is.na(R1208)) %>%
mutate(
Wilayah = factor(R105, levels = c(1, 2), labels = c("Kota", "Desa")),
Status_Perkawinan = factor(R404, levels = 1:4, labels = c("Belum Kawin", "Kawin", "Cerai Hidup", "Cerai Mati")),
Jenis_Kelamin = factor(R405, levels = c(1, 2), labels = c("Laki-laki", "Perempuan")),
Tingkat_Pendidikan = factor(R614, levels = 1:25, labels = c(
"Paket A", "SDLB", "SD", "MI", "SPM/PDF Ula", "Paket B", "SMPLB", "SMP", "MTs", "SPM/PDF Wustha",
"Paket C", "SMLB", "SMA", "MA", "SMK", "MAK", "SMP/PDF Ulya", "D1/D2", "D3", "D4", "S1", "Profesi", "S2", "S3", "Tidak Punya Ijazah SD"
))
)
# Melihat ringkasan data
summary(dj4_clean)
## R101 R105 R404 R405 R614
## Min. :32 Min. :1.000 Min. :1.000 Min. :1.000 Min. : 0.0
## 1st Qu.:32 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.: 3.0
## Median :32 Median :1.000 Median :2.000 Median :1.000 Median : 8.0
## Mean :32 Mean :1.325 Mean :1.707 Mean :1.496 Mean :10.4
## 3rd Qu.:32 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:15.0
## Max. :32 Max. :2.000 Max. :4.000 Max. :2.000 Max. :25.0
##
## R1208 Wilayah Status_Perkawinan Jenis_Kelamin
## Min. : 0.00 Kota:57206 Belum Kawin:35893 Laki-laki:42722
## 1st Qu.: 0.00 Desa:27482 Kawin :42330 Perempuan:41966
## Median : 0.00 Cerai Hidup: 1851
## Mean : 18.82 Cerai Mati : 4614
## 3rd Qu.: 0.00
## Max. :560.00
##
## Tingkat_Pendidikan
## SD :22586
## SMP :13673
## Tidak Punya Ijazah SD:13663
## SMA :13292
## S1 : 3864
## (Other) : 7823
## NA's : 9787
# Melihat 6 baris pertama data
head(dj4_clean)
## R101 R105 R404 R405 R614 R1208 Wilayah Status_Perkawinan Jenis_Kelamin
## 1 32 2 4 2 3 0 Desa Cerai Mati Perempuan
## 2 32 2 2 2 19 0 Desa Kawin Perempuan
## 3 32 2 1 2 8 0 Desa Belum Kawin Perempuan
## 4 32 2 1 1 25 0 Desa Belum Kawin Laki-laki
## 5 32 1 3 2 3 0 Kota Cerai Hidup Perempuan
## 6 32 1 1 1 3 35 Kota Belum Kawin Laki-laki
## Tingkat_Pendidikan
## 1 SD
## 2 D3
## 3 SMP
## 4 Tidak Punya Ijazah SD
## 5 SD
## 6 SD
# Menghitung jumlah baris data
nrow(dj4_clean)
## [1] 84688
# Membuat kolom baru untuk mengelompokkan status bersekolah
dj4_clean <- dj4_clean %>%
mutate(
Status_Bersekolah = ifelse(Tingkat_Pendidikan %in% c("SD", "SMP", "SMA", "Paket A", "Paket B", "Paket C"), "Masih Bersekolah", "Tidak Lagi Bersekolah")
)
# Menghitung rata-rata konsumsi rokok per status bersekolah
rata_rokok_bersekolah <- dj4_clean %>%
group_by(Status_Bersekolah) %>%
summarise(Rata_Rata_Rokok = mean(R1208, na.rm = TRUE))
# Membuat grouped bar chart
ggplot(rata_rokok_bersekolah, aes(x = Status_Bersekolah, y = Rata_Rata_Rokok, fill = Status_Bersekolah)) +
geom_bar(stat = "identity", width = 0.7) +
labs(
title = "Rata-Rata Konsumsi Rokok per Minggu: Masih Bersekolah vs Tidak Lagi Bersekolah",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Status Bersekolah",
y = "Rata-Rata Rokok per Minggu",
fill = "Status Bersekolah"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10)
)
#apakah bersekolah?
# Load library yang diperlukan
library(dplyr)
library(ggplot2)
# Membaca data dari file CSV
susenas <- read.csv("C:/Users/nyayu/Downloads/2023 Maret JABAR - SUSENAS KOR INDIVIDU PART1.csv")
# Subset data untuk Provinsi Jawa Barat (R101 == 32) dan kolom yang diperlukan
djs4 <- subset(susenas, R101 == 32, select = c(R101, R610, R1208))
# Membersihkan data (menghapus baris dengan missing values)
djs4_clean <- djs4 %>%
filter(!is.na(R610) & !is.na(R1208)) %>%
mutate(
Status_Bersekolah = factor(R610, levels = c(1, 2, 3), labels = c("Tidak/Belum Sekolah", "Masih Bersekolah", "Tidak Lagi Bersekolah"))
)
# Melihat ringkasan data
summary(djs4_clean)
## R101 R610 R1208 Status_Bersekolah
## Min. :32 Min. :0.000 Min. : 0.00 Tidak/Belum Sekolah : 3603
## 1st Qu.:32 1st Qu.:2.000 1st Qu.: 0.00 Masih Bersekolah :18463
## Median :32 Median :3.000 Median : 0.00 Tidak Lagi Bersekolah:56438
## Mean :32 Mean :2.478 Mean : 18.82 NA's : 6184
## 3rd Qu.:32 3rd Qu.:3.000 3rd Qu.: 0.00
## Max. :32 Max. :3.000 Max. :560.00
# Melihat 6 baris pertama data
head(djs4_clean)
## R101 R610 R1208 Status_Bersekolah
## 1 32 3 0 Tidak Lagi Bersekolah
## 2 32 3 0 Tidak Lagi Bersekolah
## 3 32 3 0 Tidak Lagi Bersekolah
## 4 32 2 0 Masih Bersekolah
## 5 32 3 0 Tidak Lagi Bersekolah
## 6 32 3 35 Tidak Lagi Bersekolah
# Menghitung jumlah baris data
nrow(djs4_clean)
## [1] 84688
# Menghitung jumlah responden per status bersekolah
pie_data <- djs4_clean %>%
group_by(Status_Bersekolah) %>%
summarise(Jumlah_Responden = n())
# Membuat pie chart
ggplot(pie_data, aes(x = "", y = Jumlah_Responden, fill = Status_Bersekolah)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) + # Mengubah bar chart menjadi pie chart
labs(
title = "Pie Chart: Proporsi Responden Berdasarkan Status Bersekolah",
subtitle = "Provinsi Jawa Barat, 2023",
fill = "Status Bersekolah"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_blank(), # Menghilangkan label sumbu
axis.text = element_blank(), # Menghilangkan teks sumbu
legend.position = "bottom"
) +
geom_text(aes(label = paste0(round(Jumlah_Responden / sum(Jumlah_Responden) * 100, 1), "%")),
position = position_stack(vjust = 0.5)) # Menambahkan persentase di tengah pie
# Menghitung rata-rata konsumsi rokok dan jumlah responden per status bersekolah
bubble_data <- djs4_clean %>%
group_by(Status_Bersekolah) %>%
summarise(
Rata_Rata_Rokok = mean(R1208, na.rm = TRUE),
Jumlah_Responden = n()
)
# Membuat bubble chart
ggplot(bubble_data, aes(x = Status_Bersekolah, y = Rata_Rata_Rokok, size = Jumlah_Responden)) +
geom_point(aes(color = Status_Bersekolah), alpha = 0.7) +
scale_size_continuous(range = c(5, 20)) + # Mengatur ukuran bubble
labs(
title = "Bubble Chart: Rata-Rata Konsumsi Rokok per Minggu Berdasarkan Status Bersekolah",
subtitle = "Provinsi Jawa Barat, 2023",
x = "Status Bersekolah",
y = "Rata-Rata Rokok per Minggu",
size = "Jumlah Responden",
color = "Status Bersekolah"
) +
theme_minimal() +
theme(
plot.title = element_text(size = 16, face = "bold"),
axis.title = element_text(size = 12),
axis.text = element_text(size = 10),
legend.position = "bottom"
)