#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"
  )