NEET (Not in Education, Employment, or Training) adalah kondisi dimana seseorang tidak sedang bekerja, sekolah, ataupun pelatihan.Youth NEET adalah salah satu Key Indicator of Labor Market (KILM) ke-10 mengenai Youth Employment.
Packages foreign untuk membaca file berformat
.dbf Packages dplyr untuk melakukan
engineering data Packages srvyr untuk melakukan estimasi
statistik Packages survey untuk alternatif melakukan
estimasi statistik
##
## 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
##
## Attaching package: 'srvyr'
## The following object is masked from 'package:stats':
##
## filter
Data yang digunakan adalah data SAK tahun 2020-2022, rencananya juga menggunakan data tahun 2023. Data yang dipakai dapat diakses disini
svy_sak2022 <- rbind(dt2023 %>%
select(KODE_KAB, KODE_PROV, TAHUN,PSU,SSU=ROWINDEX,K1=ROWINDEX, K3, K6=K9, R4,
R5, Skill = R6D, Training=R6H,
R9A, R9B, R9C, R10,
R31A, R31B, R35A, R46D=R43D, K4, R6A, WEIGHT=WEIGHTR,
R13A, R14AKATEGO, R14BKBJI20, R15A_UANG = R15_UANG,
R15A_BRG = R15_BRG,
JAM_KERJA = R28B_JML, TAWARAN_KERJA = R36A,
TAMBAH_JAMKERJA = R29A,
R47A = R44A, R47B = R44B, R47E = R44D, R47F = R44G, R47G = R44I),
dt2022 %>%
select(KODE_KAB, KODE_PROV, TAHUN, PSU, SSU, K1, K3, K6, R4,
R5, Skill = R6D, Training=R6H,
R9A, R9B, R9C, R10,
R31A, R31B, R35A, R46D, K4, R6A, WEIGHT,
R13A, R14AKATEGO, R14BKBJI20, R15A_UANG,
R15A_BRG,
JAM_KERJA = R28B_JML, TAWARAN_KERJA = R36A,
TAMBAH_JAMKERJA = R29A,
R47A , R47B, R47E, R47F, R47G),
dt2021 %>%
select(KODE_KAB, KODE_PROV, TAHUN,PSU, SSU=NO_DSRT, K1, K3, K6, R4,
R5, Skill = R6D, Training=R6I,
R9A, R9B, R9C, R10=R10A,
R31A=R29A, R31B=R29B, R35A=R32A, R46D=R42D, K4, R6A,
WEIGHT=FINAL_WEIG,
R13A=R12A, R14AKATEGO = KBLI2020_1,
R14BKBJI20 = KBJI2014, R15A_UANG = R14A_UANG,
R15A_BRG = R14A2_BRG, JAM_KERJA = R27B_JML,
TAWARAN_KERJA = R33, TAMBAH_JAMKERJA = R28A,
R47A = R44A, R47B = R44B, R47E = R44E, R47F = R44F, R47G = R44G),
dt2020 %>%
select(KODE_KAB, KODE_PROV, TAHUN,PSU=ID_NKS, SSU=NO_DSRT, K1, K3, K6, R4,
R5, Skill = R6D, Training=R6E,
R9A, R9B, R9C,
R10=R10A,
R31A=R22A, R31B=R22B, R35A=R25A, R46D=R31D, K4, R6A,
WEIGHT=FINAL_WEIG,
R13A = R12A, R14AKATEGO = R13A_KATEG,
R14BKBJI20 = R13B_KBJI2, R15A_UANG = R14A1,
R15A_BRG = R14A2, JAM_KERJA = R20B,
TAWARAN_KERJA = R26, TAMBAH_JAMKERJA = R21A,
R47A = R27A, R47B = R27B, R47E=R27D, R47F = R27E, R47G = R27F)) %>%
#Sesuaikan Nama Kolom
mutate(TAHUN = substr(TAHUN, start=1, stop=4)) %>% #Buat Flag Tahun
mutate(Jenis_Kegiatan =
case_when(K6 >= 15 & (R9A==1 | R9B==1 | R9C==1 | R10==1) ~ '1. Bekerja',
K6 >= 15 & ((R9A==2 & R9B==2 & R9C==2 & R10==2 & R31A==1)) |
K6 >= 15 & ((R9A==2 & R9B==2 & R9C==2 &
R10==2 & R31A==2 & R31B==1)) |
K6 >= 15 & ((R9A==2 & R9B==2 & R9C==2 &
R10==2 & R31A==2 & R31B==2 & R35A<=3)) ~ '2. Pengangguran',
K6 >= 15 & (R9A==2 & R9B==2 & R9C==2 &
R10==2 & R31A==2 & R31B==2 & R35A>3 & R46D==1) ~ '4. Sekolah',
K6 >= 15 & (R9A==2 & R9B==2 & R9C==2 &
R10==2 & R31A==2 & R31B==2 & R35A>3 & R46D==2) ~ '5. Mengurus Rumah Tangga',
K6 >= 15 & (R9A==2 & R9B==2 & R9C==2 & R10==2 &
R31A==2 & R31B==2 & R35A>3 & R46D %in% c(3,4)) ~ '6. Lainnya',
K6 < 15 ~ '7. Bukan Usia Kerja')) %>%
mutate(Jenis_Kegiatan2 = ifelse(Jenis_Kegiatan == '1. Bekerja', '1. Bekerja',
ifelse(Jenis_Kegiatan == '2. Pengangguran', '2. Pengangguran',
ifelse(Jenis_Kegiatan %in%
c('3. Bukan Angkatan Kerja',
'4. Sekolah',
'5. Mengurus Rumah Tangga',
'6. Lainnya'), '3. Bukan Angkatan Kerja',
'4. Bukan Usia Kerja')))) %>%
mutate(Jenis_Kegiatan3 = ifelse(Jenis_Kegiatan2 %in%
c('1. Bekerja','2. Pengangguran'), '1. Angkatan Kerja',
ifelse(Jenis_Kegiatan2 == '3. Bukan Angkatan Kerja','2. Bukan Angkatan Kerja','3. Bukan Usia Kerja'))) %>%
mutate(kelompok_umur = case_when(K6 >= 15 & K6 <= 19 ~ "15-19",
K6 >= 20 & K6 <= 24 ~ "20-24",
K6 >= 25 & K6 <= 29 ~ "25-29",
K6 >= 30 & K6 <= 34 ~ "30-34",
K6 >= 35 & K6 <= 39 ~ "35-39",
K6 >= 40 & K6 <= 44 ~ "40-44",
K6 >= 45 & K6 <= 49 ~ "45-49",
K6 >= 50 & K6 <= 54 ~ "50-54",
K6 >= 55 & K6 <= 59 ~ "55-59",
K6 >= 60 & K6 <= 64 ~ "60-64",
K6 >= 65 ~ "65+")) %>%
mutate(K4 = ifelse(K4==1,'Laki-laki','Perempuan'),
PENDIDIKAN = case_when(R6A <= 2 ~ '1. <= SD',
R6A == 3 ~'2. SMP',
R6A %in% c(4,5,6) ~ '3. SMA',
R6A %in% c(7,8,9,10,11,12) ~ '4. Perguruan Tinggi')) %>%
mutate(KBLI3 = ifelse(R14AKATEGO %in% 1, 'A. Pertanian',
ifelse(R14AKATEGO %in% c(2:6), 'B. Industri','C. Jasa'))) %>%
mutate(KBLI_Informal = ifelse(R13A %in% c(3,4),'Formal',
ifelse(R13A %in% c(1,2,5,6,7),'Informal','NULL'))) %>%
mutate(R4 = ifelse(R4 == 1,'Belum Kawin','Kawin/Pernah Kawin')) %>%
inner_join(kd_wilayah) %>% left_join(kd_kbli) %>%
as_survey_design(weights = WEIGHT)## Joining with `by = join_by(KODE_KAB, KODE_PROV)`
## Joining with `by = join_by(R14AKATEGO)`
svy_sak2022 = svy_sak2022 %>%
mutate(NEET = ifelse(K6 >= 15 & K6 <= 24 & Training == 2 & R5 !=2 &
R9A ==2 & R9B ==2 & R9C ==2 & R10 == 2,'2. NEET','1. Non NEET'))svy_sak2022 = svy_sak2022 %>%
mutate(NEET_Info = ifelse(NEET == '1. Non NEET','Non NEET',
ifelse(R31A == 1 | R31B == 1 ,'1. Mencari Kerja',
ifelse(R31A == 2 & R35A == 5,
'2. Mengurus Rumah Tangga',
ifelse(R31A == 2 & R35A == 3,'3. Putus Asa',
ifelse(R31A == 2 & R35A == 6,'4. Kurangnya Infrastruktur',
ifelse(R31A == 2 & R35A == 7,'5. Tidak mampu melakukan pekerjaan',
'6. Lainnya')))))))svy_sak2022 = svy_sak2022 %>%
mutate(Wilayah = case_when(KODE_PROV %in% c(11:21) ~ "1. Sumatera",
KODE_PROV %in% c(31:36) ~ "2. Jawa",
KODE_PROV %in% c(51:53) ~ "3. Balinusra",
KODE_PROV %in% c(61:65) ~ "4. Kalimantan",
KODE_PROV %in% c(71:76) ~ "5. Sulawesi",
KODE_PROV %in% c(81:82,91,94) ~ "6. Maluku Papua"))svy_sak2022 %>% filter(TAHUN == 2023) %>%
filter(NEET_Info != 'Non NEET') %>%
group_by(K4,NEET_Info) %>%
summarise(Jumlah = round(survey_prop()*100,2)) %>%
mutate(No = rep(6:1),
No_JK = ifelse(K4 == 'Laki-laki',2,1)) %>%
ggplot(aes(x=Jumlah, y=reorder(NEET_Info, No),
fill=reorder(K4, No_JK))) +
geom_col(position = 'dodge') +
theme_minimal() +
labs(x='Persentase (%)',y='Kegiatan NEET Seminggu Terakhir', fill = 'Jenis Kelamin') +
scale_x_continuous(breaks=c(0:10)*10) +
scale_fill_manual(values = c('#D14958','#00798C'))## When `proportion` is unspecified, `survey_prop()` now defaults to `proportion = TRUE`.
## ℹ This should improve confidence interval coverage.
## This message is displayed once per session.
library(dplyr)
library(srvyr)
Persentase_Prakerja12 <- svy_sak2022 %>%
mutate(NEET = ifelse(K6 <= 24 & K6 >= 15 & NEET == '2. NEET',
'1. NEET 15-24 Tahun',
ifelse(K6 <= 24 & K6 >= 15 & NEET == '1. Non NEET',
'2. Non Neet 15-24 Tahun','3. Non NEET > 24 Tahun'))) %>%
group_by(TAHUN,R47E, NEET) %>%
filter(R47F == 1) %>%
summarise(Jumlah = round(survey_prop()*100,2),
Jumlah_n = n())
plot2 <- Persentase_Prakerja12 %>%
ggplot(aes(x=TAHUN,y=Jumlah,group=NEET,fill=NEET)) +
geom_col() +
theme_minimal() +
labs(x='TAHUN',y='Persentase (%)') +
scale_y_continuous(breaks = c(0:10)*10) +
scale_fill_manual(values = c('#00798C','#EDAE49','#D14958')) +
theme(legend.position = 'right')
plot2library(ggsankey)
df <- svy_sak2022$variables %>% filter(TAHUN == 2023) %>%
filter(K6 >=15 & K6 <= 24) %>%
filter(NEET == '2. NEET') %>%
select(NEET, K4, R47A, R47B, R47E, R47F, R47G) %>%
mutate(NEET = 'NEET Usia \n 15-24 Tahun',
R47A = case_when(R47A == 1 & K4 == 'Laki-laki' ~ '1. L Tahu',
R47A == 1 & K4 == 'Perempuan' ~ '2. P Tahu',
R47A == 2 & K4 == 'Laki-laki'~ '1. L Tidak Tahu',
R47A == 2 & K4 == 'Perempuan' ~ '2. P Tidak Tahu',
is.na(R47A) & K4 == 'Laki-laki' ~ '1.1 L NEET Usia < 18 Tahun',
is.na(R47A) & K4 == 'Perempuan' ~ '2.1 P NEET Usia < 18 Tahun'),
R47B = case_when(R47B == 1 & K4 == 'Laki-laki' ~ '1. L Mendaftar',
R47B == 1 & K4 == 'Perempuan' ~ '2. P Mendaftar',
R47B == 2 & K4 == 'Laki-laki'~ '1. L Tidak Mendaftar',
R47B == 2 & K4 == 'Perempuan' ~ '2. P Tidak Mendaftar',
is.na(R47B) & K4 == 'Laki-laki' ~ '1.1 L',
is.na(R47B) & K4 == 'Perempuan' ~ '2.1 P'),
R47E = case_when(R47E == 1 & K4 == 'Laki-laki' ~ '1. L Lolos',
R47E == 1 & K4 == 'Perempuan' ~ '2. P Lolos',
R47E == 2 & K4 == 'Laki-laki'~ '1. L Tidak Lolos',
R47E == 2 & K4 == 'Perempuan' ~ '2. P Tidak Lolos',
is.na(R47E) & K4 == 'Laki-laki' ~ '1.1 L',
is.na(R47E) & K4 == 'Perempuan' ~ '2.1 P'),
R47F = case_when(R47F == 1 & K4 == 'Laki-laki' ~ '1. L Selesai Pelatihan',
R47F == 1 & K4 == 'Perempuan' ~ '2. P Selesai Pelatihan',
R47F == 2 & K4 == 'Laki-laki'~ '1. L Tidak Selesai \n Pelatihan',
R47F == 2 & K4 == 'Perempuan' ~ '2. P Tidak Selesai \n Pelatihan',
is.na(R47F) & K4 == 'Laki-laki' ~ '1.1 L',
is.na(R47F) & K4 == 'Perempuan' ~ '2.1 P'),
R47G = case_when(R47G == 1 & K4 == 'Laki-laki' ~ '1. L Keterampilan \n Meningkat',
R47G == 1 & K4 == 'Perempuan' ~ '2. P Keterampilan \n Meningkat',
R47G == 2 & K4 == 'Laki-laki'~ '1. L Keterampilan \n Tidak Meningkat',
R47G == 2 & K4 == 'Perempuan' ~ '2. P Keterampilan \n Tidak Meningkat',
is.na(R47G) & K4 == 'Laki-laki' ~ '1.1 L',
is.na(R47G) & K4 == 'Perempuan' ~ '2.1 P'))
colnames(df) <- c('NEET', 'Jenis Kelamin',
'Mengetahui', 'Mendaftar', 'Lolos',
'Pelatihan','Dampak')
df <- df %>% make_long(NEET,`Jenis Kelamin`,`Mengetahui`,
`Mendaftar`, `Lolos`,
`Pelatihan`,
`Dampak`)
plot <- ggplot(df, aes(x = x,
next_x = next_x,
node = node,
next_node = next_node,
fill = factor(node),
label = case_when(
(node == '2.1 P' | node == '1.1 L') ~ '',
(node == '2.1 P NEET Usia < 18 Tahun' |
node == '1.1 L NEET Usia < 18 Tahun') ~
'NEET Usia \n < 18 Tahun',
(node == '2. P Tidak Pernah \n Mengikuti Pelatihan' |
node == '1. L Tidak Pernah \n Mengikuti Pelatihan') ~
'Tidak Pernah \n Mengikuti Pelatihan',
(node == '2. P Pernah Mengikuti \n Pelatihan' |
node == '1. L Pernah Mengikuti \n Pelatihan') ~
'Pernah Mengikuti \n Pelatihan',
(node == '2. P Tahu' |
node == '1. L Tahu') ~ 'Tahu Pra-Kerja',
(node == '2. P Tidak Tahu' |
node == '1. L Tidak Tahu') ~ 'Tidak Tahu \n Pra-Kerja',
(node == '2. P Tidak Mendaftar' |
node == '1. L Tidak Mendaftar') ~ 'Tidak Mendaftar \n Pra-Kerja',
(node == '2. P Mendaftar' |
node == '1. L Mendaftar') ~ 'Mendaftar Pra-Kerja',
(node == '2. P Lolos' |
node == '1. L Lolos') ~ 'Lolos Pra-Kerja',
(node == '2. P Tidak Lolos' |
node == '1. L Tidak Lolos') ~ 'Tidak Lolos \n Pra-Kerja',
(node == '2. P Selesai Pelatihan' |
node == '1. L Selesai Pelatihan') ~
'Selesai Pelatihan Pra-Kerja',
(node == '2. P Tidak Selesai \n Pelatihan' |
node == '1. L Tidak Selesai \n Pelatihan') ~
'Tidak Selesai Pelatihan \n Pra-Kerja',
(node == '2. P Keterampilan \n Meningkat' |
node == '1. L Keterampilan \n Meningkat') ~
'Keterampilan Meningkat',
(node == '2. P Keterampilan \n Tidak Meningkat' |
node == '1. L Keterampilan \n Tidak Meningkat') ~
'Keterampilan \n Tidak Meningkat',
(node == '2. P NEET Tanpa \n Keterampilan' |
node == '1. L NEET Tanpa \n Keterampilan') ~
'NEET Tanpa \n Keterampilan',
(node == '2. P NEET \n Berketrampilan' |
node == '1. L NEET \n Berketrampilan') ~
'NEET \n Berketrampilan',
TRUE ~ as.character(node))
)) +
geom_sankey(flow.alpha = 0.5, node.color = 1) +
geom_sankey_label(size = 2.5, color = 1, fill = "white", aes(vjust=1.4)) +
scale_fill_manual(values = c('#70CEEB','#70CEEB','#70CEEB','#70CEEB','grey','grey','grey','grey',
'grey','grey','#70CEEB','#70CEEB','#70CEEB','#70CEEB','grey','grey','grey','grey',
'grey','grey','#00798C','#EDAE49','#D14958','#70CEEB','grey','#70CEEB','grey')) +
theme_sankey(base_size = 16) +
guides(fill = guide_legend(title = "Title")) +
theme(legend.position = 'none',
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank()) +
labs(x = '')
plotsvy_sak2022 %>% filter(TAHUN == 2023) %>%
filter(K6 >= 15 & K6 <= 24) %>%
group_by(NEET,K4, R47A) %>%
summarise(Pct = round(survey_prop()*100,2)) %>%
mutate(rse = round(Pct_se/Pct*100,2))svy_sak2022 %>% filter(TAHUN == 2023) %>%
filter(K6 >= 15 & K6 <= 24) %>%
group_by(NEET,K4, R47B) %>%
summarise(Pct = round(survey_prop()*100,2)) %>%
mutate(rse = round(Pct_se/Pct*100,2))svy_sak2022 %>% filter(TAHUN == 2023) %>%
filter(K6 >= 15 & K6 <= 24) %>%
group_by(NEET,K4, R47E) %>%
summarise(Pct = round(survey_prop()*100,2)) %>%
mutate(rse = round(Pct_se/Pct*100,2))