Import dan pemeriksaan
data
Dataset yang digunakan adalah data indikator mortalitas dan angka
harapan hidup menurut provinsi tahun 2020.
# Import dataset baru
datatugastds <- read_excel(
"C:/Users/Hype G12/Downloads/datatugastds.xlsx",
sheet = "Gabungan 34 Provinsi"
)
# Memeriksa nama kolom, struktur, dan beberapa baris data
names(datatugastds)
## [1] "Provinsi" "Tahun"
## [3] "IMR (per 1.000 kelahiran hidup)" "Jumlah Kematian (orang)"
## [5] "CDR (per 1.000 penduduk)" "AHH/UHH (tahun)"
## [7] "Status data CDR" "Jumlah Penduduk SP2020 (orang)"
str(datatugastds)
## tibble [40 × 8] (S3: tbl_df/tbl/data.frame)
## $ Provinsi : chr [1:40] "Aceh" "Sumatera Utara" "Sumatera Barat" "Riau" ...
## $ Tahun : num [1:40] 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 ...
## $ IMR (per 1.000 kelahiran hidup): num [1:40] 19.4 18.3 16.4 15.7 17 ...
## $ Jumlah Kematian (orang) : num [1:40] 4307 7196 2348 3465 2097 ...
## $ CDR (per 1.000 penduduk) : num [1:40] 0.817 0.486 0.424 0.542 0.591 ...
## $ AHH/UHH (tahun) : num [1:40] 72.7 73 73.5 73.7 73.3 ...
## $ Status data CDR : chr [1:40] "CDR = kematian teregistrasi 2020 / penduduk SP2020 x 1.000" "CDR = kematian teregistrasi 2020 / penduduk SP2020 x 1.000" "CDR = kematian teregistrasi 2020 / penduduk SP2020 x 1.000" "CDR = kematian teregistrasi 2020 / penduduk SP2020 x 1.000" ...
## $ Jumlah Penduduk SP2020 (orang) : num [1:40] 5274871 14799361 5534472 6394087 3548228 ...
head(datatugastds, 10)
Pembersihan data
# Daftar provinsi Indonesia tahun 2020
daftar_provinsi <- c(
"ACEH", "SUMATERA UTARA", "SUMATERA BARAT", "RIAU",
"JAMBI", "SUMATERA SELATAN", "BENGKULU", "LAMPUNG",
"KEP. BANGKA BELITUNG", "KEP. RIAU", "DKI JAKARTA",
"JAWA BARAT", "JAWA TENGAH", "DI YOGYAKARTA",
"JAWA TIMUR", "BANTEN", "BALI", "NUSA TENGGARA BARAT",
"NUSA TENGGARA TIMUR", "KALIMANTAN BARAT",
"KALIMANTAN TENGAH", "KALIMANTAN SELATAN",
"KALIMANTAN TIMUR", "KALIMANTAN UTARA",
"SULAWESI UTARA", "SULAWESI TENGAH",
"SULAWESI SELATAN", "SULAWESI TENGGARA",
"GORONTALO", "SULAWESI BARAT", "MALUKU",
"MALUKU UTARA", "PAPUA BARAT", "PAPUA"
)
# Membersihkan dan menyiapkan data
# Pastikan nama kolom sesuai dengan nama kolom pada Excel
data_bersih <- datatugastds |>
transmute(
Provinsi = toupper(trimws(as.character(Provinsi))),
Tahun = parse_number(as.character(Tahun)),
IMR = parse_number(
as.character(`IMR (per 1.000 kelahiran hidup)`)
),
Jumlah_Kematian = parse_number(
as.character(`Jumlah Kematian (orang)`)
),
CDR_Asli = parse_number(
as.character(`CDR (per 1.000 penduduk)`)
),
AHH = parse_number(
as.character(`AHH/UHH (tahun)`)
),
Penduduk = parse_number(
as.character(`Jumlah Penduduk SP2020 (orang)`)
)
) |>
mutate(
Provinsi = gsub("\\s+", " ", Provinsi),
Provinsi = case_when(
Provinsi %in% c(
"KEPULAUAN BANGKA BELITUNG",
"KEP BANGKA BELITUNG",
"BANGKA BELITUNG"
) ~ "KEP. BANGKA BELITUNG",
Provinsi %in% c("KEPULAUAN RIAU", "KEP RIAU") ~ "KEP. RIAU",
TRUE ~ Provinsi
)
) |>
filter(
Tahun == 2020,
Provinsi %in% daftar_provinsi
) |>
distinct(Provinsi, .keep_all = TRUE) |>
arrange(match(Provinsi, daftar_provinsi))
# Memeriksa kelengkapan data provinsi
cat("Jumlah provinsi ditemukan:", nrow(data_bersih), "\n")
## Jumlah provinsi ditemukan: 34
provinsi_hilang <- setdiff(daftar_provinsi, data_bersih$Provinsi)
if (length(provinsi_hilang) > 0) {
cat("Provinsi yang belum ditemukan:\n")
print(provinsi_hilang)
} else {
cat("Seluruh 34 provinsi berhasil ditemukan.\n")
}
## Seluruh 34 provinsi berhasil ditemukan.
# Memeriksa data kosong
pemeriksaan_na <- data_bersih |>
summarise(
NA_IMR = sum(is.na(IMR)),
NA_Kematian = sum(is.na(Jumlah_Kematian)),
NA_Penduduk = sum(is.na(Penduduk)),
NA_AHH = sum(is.na(AHH))
)
knitr::kable(pemeriksaan_na, caption = "Pemeriksaan data kosong")
Pemeriksaan data kosong
| 0 |
0 |
0 |
0 |
Perhitungan indikator
mortalitas
CDR dihitung dari jumlah kematian dibagi jumlah penduduk, kemudian
dikalikan 1.000. Karena penyebut menggunakan jumlah penduduk SP2020,
hasil perlu ditafsirkan dengan mempertimbangkan definisi penyebut dan
kelengkapan pencatatan kematian.
# Menghitung rasio kematian teregistrasi per 1.000 penduduk
data_akhir <- data_bersih |>
mutate(
CDR = if_else(
!is.na(Jumlah_Kematian) &
!is.na(Penduduk) &
Jumlah_Kematian >= 0 &
Penduduk > 0,
Jumlah_Kematian / Penduduk * 1000,
NA_real_
),
Selisih_CDR = CDR - CDR_Asli
)
# Tabel indikator mortalitas
indikator_mortalitas <- data_akhir |>
select(
Provinsi, Tahun, IMR, Jumlah_Kematian,
Penduduk, CDR_Asli, CDR, AHH
)
knitr::kable(
indikator_mortalitas,
digits = 3,
caption = "Indikator mortalitas dan angka harapan hidup menurut provinsi"
)
Indikator mortalitas dan angka harapan hidup menurut
provinsi
| ACEH |
2020 |
19.41 |
4307 |
5274871 |
0.817 |
0.817 |
72.69 |
| SUMATERA UTARA |
2020 |
18.28 |
7196 |
14799361 |
0.486 |
0.486 |
73.00 |
| SUMATERA BARAT |
2020 |
16.35 |
2348 |
5534472 |
0.424 |
0.424 |
73.50 |
| RIAU |
2020 |
15.69 |
3465 |
6394087 |
0.542 |
0.542 |
73.66 |
| JAMBI |
2020 |
16.99 |
2097 |
3548228 |
0.591 |
0.591 |
73.33 |
| SUMATERA SELATAN |
2020 |
16.78 |
9211 |
8467432 |
1.088 |
1.088 |
73.39 |
| BENGKULU |
2020 |
19.73 |
2180 |
2010670 |
1.084 |
1.084 |
72.59 |
| LAMPUNG |
2020 |
15.69 |
3197 |
9007848 |
0.355 |
0.355 |
73.66 |
| KEP. BANGKA BELITUNG |
2020 |
16.75 |
2782 |
1455678 |
1.911 |
1.911 |
73.39 |
| KEP. RIAU |
2020 |
13.31 |
1635 |
2064564 |
0.792 |
0.792 |
74.25 |
| DKI JAKARTA |
2020 |
10.38 |
47579 |
10562088 |
4.505 |
4.505 |
75.20 |
| JAWA BARAT |
2020 |
13.56 |
32779 |
48274162 |
0.679 |
0.679 |
74.19 |
| JAWA TENGAH |
2020 |
12.77 |
74177 |
36516035 |
2.031 |
2.031 |
74.39 |
| DI YOGYAKARTA |
2020 |
10.90 |
22750 |
3668719 |
6.201 |
6.201 |
74.95 |
| JAWA TIMUR |
2020 |
13.49 |
54943 |
40665696 |
1.351 |
1.351 |
74.21 |
| BANTEN |
2020 |
13.83 |
7388 |
11904562 |
0.621 |
0.621 |
74.12 |
| BALI |
2020 |
13.26 |
5174 |
4317404 |
1.198 |
1.198 |
74.27 |
| NUSA TENGGARA BARAT |
2020 |
24.64 |
2359 |
5320092 |
0.443 |
0.443 |
71.17 |
| NUSA TENGGARA TIMUR |
2020 |
25.67 |
3038 |
5325566 |
0.570 |
0.570 |
70.88 |
| KALIMANTAN BARAT |
2020 |
17.47 |
3827 |
5414390 |
0.707 |
0.707 |
73.21 |
| KALIMANTAN TENGAH |
2020 |
17.95 |
1701 |
2669969 |
0.637 |
0.637 |
73.10 |
| KALIMANTAN SELATAN |
2020 |
17.22 |
5475 |
4073584 |
1.344 |
1.344 |
73.28 |
| KALIMANTAN TIMUR |
2020 |
15.51 |
5961 |
3766039 |
1.583 |
1.583 |
73.70 |
| KALIMANTAN UTARA |
2020 |
16.65 |
742 |
701814 |
1.057 |
1.057 |
73.42 |
| SULAWESI UTARA |
2020 |
17.23 |
14250 |
2621923 |
5.435 |
5.435 |
73.28 |
| SULAWESI TENGAH |
2020 |
27.72 |
2673 |
2985734 |
0.895 |
0.895 |
70.31 |
| SULAWESI SELATAN |
2020 |
18.20 |
4576 |
9073509 |
0.504 |
0.504 |
73.02 |
| SULAWESI TENGGARA |
2020 |
23.29 |
1665 |
2624875 |
0.634 |
0.634 |
71.56 |
| GORONTALO |
2020 |
28.38 |
2533 |
1171681 |
2.162 |
2.162 |
69.83 |
| SULAWESI BARAT |
2020 |
29.21 |
312 |
1419229 |
0.220 |
0.220 |
69.91 |
| MALUKU |
2020 |
29.82 |
2593 |
1848923 |
1.402 |
1.402 |
69.75 |
| MALUKU UTARA |
2020 |
28.61 |
1661 |
1282937 |
1.295 |
1.295 |
70.06 |
| PAPUA BARAT |
2020 |
37.06 |
826 |
1134068 |
0.728 |
0.728 |
67.86 |
| PAPUA |
2020 |
38.17 |
1120 |
4303707 |
0.260 |
0.260 |
67.59 |
# Membandingkan CDR hasil perhitungan dengan data asli
perbandingan_cdr <- data_akhir |>
select(Provinsi, CDR_Asli, CDR, Selisih_CDR)
knitr::kable(
perbandingan_cdr,
digits = 3,
caption = "Perbandingan CDR data asli dan hasil perhitungan"
)
Perbandingan CDR data asli dan hasil perhitungan
| ACEH |
0.817 |
0.817 |
0 |
| SUMATERA UTARA |
0.486 |
0.486 |
0 |
| SUMATERA BARAT |
0.424 |
0.424 |
0 |
| RIAU |
0.542 |
0.542 |
0 |
| JAMBI |
0.591 |
0.591 |
0 |
| SUMATERA SELATAN |
1.088 |
1.088 |
0 |
| BENGKULU |
1.084 |
1.084 |
0 |
| LAMPUNG |
0.355 |
0.355 |
0 |
| KEP. BANGKA BELITUNG |
1.911 |
1.911 |
0 |
| KEP. RIAU |
0.792 |
0.792 |
0 |
| DKI JAKARTA |
4.505 |
4.505 |
0 |
| JAWA BARAT |
0.679 |
0.679 |
0 |
| JAWA TENGAH |
2.031 |
2.031 |
0 |
| DI YOGYAKARTA |
6.201 |
6.201 |
0 |
| JAWA TIMUR |
1.351 |
1.351 |
0 |
| BANTEN |
0.621 |
0.621 |
0 |
| BALI |
1.198 |
1.198 |
0 |
| NUSA TENGGARA BARAT |
0.443 |
0.443 |
0 |
| NUSA TENGGARA TIMUR |
0.570 |
0.570 |
0 |
| KALIMANTAN BARAT |
0.707 |
0.707 |
0 |
| KALIMANTAN TENGAH |
0.637 |
0.637 |
0 |
| KALIMANTAN SELATAN |
1.344 |
1.344 |
0 |
| KALIMANTAN TIMUR |
1.583 |
1.583 |
0 |
| KALIMANTAN UTARA |
1.057 |
1.057 |
0 |
| SULAWESI UTARA |
5.435 |
5.435 |
0 |
| SULAWESI TENGAH |
0.895 |
0.895 |
0 |
| SULAWESI SELATAN |
0.504 |
0.504 |
0 |
| SULAWESI TENGGARA |
0.634 |
0.634 |
0 |
| GORONTALO |
2.162 |
2.162 |
0 |
| SULAWESI BARAT |
0.220 |
0.220 |
0 |
| MALUKU |
1.402 |
1.402 |
0 |
| MALUKU UTARA |
1.295 |
1.295 |
0 |
| PAPUA BARAT |
0.728 |
0.728 |
0 |
| PAPUA |
0.260 |
0.260 |
0 |
Statistik
deskriptif
# Menghitung statistik deskriptif setiap indikator
statistik_deskriptif <- data_akhir |>
summarise(
Jumlah_Provinsi = n(),
IMR_Rata_rata = mean(IMR, na.rm = TRUE),
IMR_Median = median(IMR, na.rm = TRUE),
IMR_Minimum = min(IMR, na.rm = TRUE),
IMR_Maksimum = max(IMR, na.rm = TRUE),
IMR_SD = sd(IMR, na.rm = TRUE),
CDR_Rata_rata = mean(CDR, na.rm = TRUE),
CDR_Median = median(CDR, na.rm = TRUE),
CDR_Minimum = min(CDR, na.rm = TRUE),
CDR_Maksimum = max(CDR, na.rm = TRUE),
CDR_SD = sd(CDR, na.rm = TRUE),
AHH_Rata_rata = mean(AHH, na.rm = TRUE),
AHH_Median = median(AHH, na.rm = TRUE),
AHH_Minimum = min(AHH, na.rm = TRUE),
AHH_Maksimum = max(AHH, na.rm = TRUE),
AHH_SD = sd(AHH, na.rm = TRUE)
)
knitr::kable(
statistik_deskriptif,
digits = 3,
caption = "Statistik deskriptif indikator mortalitas dan AHH"
)
Statistik deskriptif indikator mortalitas dan AHH
| 34 |
19.705 |
17.225 |
10.38 |
38.17 |
7.076 |
1.31 |
0.804 |
0.22 |
6.201 |
1.392 |
72.551 |
73.28 |
67.59 |
75.2 |
1.949 |
Perbandingan
antarprovinsi
Lima provinsi
tertinggi dan terendah
# Lima provinsi dengan IMR tertinggi dan terendah
imr_tertinggi <- data_akhir |>
filter(!is.na(IMR)) |>
slice_max(IMR, n = 5, with_ties = FALSE) |>
select(Provinsi, IMR)
imr_terendah <- data_akhir |>
filter(!is.na(IMR)) |>
slice_min(IMR, n = 5, with_ties = FALSE) |>
select(Provinsi, IMR)
# Lima provinsi dengan CDR tertinggi dan terendah
cdr_tertinggi <- data_akhir |>
filter(!is.na(CDR)) |>
slice_max(CDR, n = 5, with_ties = FALSE) |>
select(Provinsi, CDR)
cdr_terendah <- data_akhir |>
filter(!is.na(CDR)) |>
slice_min(CDR, n = 5, with_ties = FALSE) |>
select(Provinsi, CDR)
# Lima provinsi dengan AHH tertinggi dan terendah
ahh_tertinggi <- data_akhir |>
filter(!is.na(AHH)) |>
slice_max(AHH, n = 5, with_ties = FALSE) |>
select(Provinsi, AHH)
ahh_terendah <- data_akhir |>
filter(!is.na(AHH)) |>
slice_min(AHH, n = 5, with_ties = FALSE) |>
select(Provinsi, AHH)
knitr::kable(imr_tertinggi, digits = 2, caption = "Lima provinsi dengan IMR tertinggi")
Lima provinsi dengan IMR tertinggi
| PAPUA |
38.17 |
| PAPUA BARAT |
37.06 |
| MALUKU |
29.82 |
| SULAWESI BARAT |
29.21 |
| MALUKU UTARA |
28.61 |
knitr::kable(imr_terendah, digits = 2, caption = "Lima provinsi dengan IMR terendah")
Lima provinsi dengan IMR terendah
| DKI JAKARTA |
10.38 |
| DI YOGYAKARTA |
10.90 |
| JAWA TENGAH |
12.77 |
| BALI |
13.26 |
| KEP. RIAU |
13.31 |
knitr::kable(cdr_tertinggi, digits = 3, caption = "Lima provinsi dengan CDR tertinggi")
Lima provinsi dengan CDR tertinggi
| DI YOGYAKARTA |
6.201 |
| SULAWESI UTARA |
5.435 |
| DKI JAKARTA |
4.505 |
| GORONTALO |
2.162 |
| JAWA TENGAH |
2.031 |
knitr::kable(cdr_terendah, digits = 3, caption = "Lima provinsi dengan CDR terendah")
Lima provinsi dengan CDR terendah
| SULAWESI BARAT |
0.220 |
| PAPUA |
0.260 |
| LAMPUNG |
0.355 |
| SUMATERA BARAT |
0.424 |
| NUSA TENGGARA BARAT |
0.443 |
knitr::kable(ahh_tertinggi, digits = 2, caption = "Lima provinsi dengan AHH tertinggi")
Lima provinsi dengan AHH tertinggi
| DKI JAKARTA |
75.20 |
| DI YOGYAKARTA |
74.95 |
| JAWA TENGAH |
74.39 |
| BALI |
74.27 |
| KEP. RIAU |
74.25 |
knitr::kable(ahh_terendah, digits = 2, caption = "Lima provinsi dengan AHH terendah")
Lima provinsi dengan AHH terendah
| PAPUA |
67.59 |
| PAPUA BARAT |
67.86 |
| MALUKU |
69.75 |
| GORONTALO |
69.83 |
| SULAWESI BARAT |
69.91 |
Visualisasi
indikator
Angka Kematian Bayi
(IMR)
grafik_imr <- buat_grafik_peringkat(
data = data_akhir,
variabel = "IMR",
judul = "Angka Kematian Bayi Menurut Provinsi",
subjudul = "Indonesia, 2020",
satuan = "per 1.000 kelahiran hidup",
warna_rendah = "#D6EAF8",
warna_tinggi = "#1B4F72"
)
grafik_imr

Crude Death Rate
(CDR)
grafik_cdr <- buat_grafik_peringkat(
data = data_akhir,
variabel = "CDR",
judul = "Rasio Kematian Teregistrasi Menurut Provinsi",
subjudul = "Indonesia, 2020",
satuan = "per 1.000 penduduk",
warna_rendah = "#FDEBD0",
warna_tinggi = "#A04000"
)
grafik_cdr

Angka Harapan Hidup
(AHH)
grafik_ahh <- buat_grafik_peringkat(
data = data_akhir,
variabel = "AHH",
judul = "Angka Harapan Hidup Menurut Provinsi",
subjudul = "Indonesia, 2020",
satuan = "tahun",
warna_rendah = "#D5F5E3",
warna_tinggi = "#196F3D"
)
grafik_ahh

Distribusi
indikator
Histogram dilengkapi kurva kepadatan serta garis median dan rata-rata
agar pola sebaran nilai antarprovinsi lebih mudah dibandingkan.
# Menyiapkan data untuk visualisasi distribusi
data_distribusi <- data_akhir |>
select(Provinsi, IMR, CDR, AHH) |>
pivot_longer(
cols = c(IMR, CDR, AHH),
names_to = "Indikator",
values_to = "Nilai"
) |>
filter(!is.na(Nilai)) |>
mutate(
Indikator = recode(
Indikator,
IMR = "Angka Kematian Bayi (IMR)",
CDR = "Rasio Kematian Teregistrasi",
AHH = "Angka Harapan Hidup (AHH)"
)
)
# Menghitung median dan rata-rata
ringkasan_distribusi <- data_distribusi |>
group_by(Indikator) |>
summarise(
Median = median(Nilai),
Rata_rata = mean(Nilai),
.groups = "drop"
)
# Histogram dan kurva kepadatan
grafik_distribusi <- ggplot(data_distribusi, aes(x = Nilai)) +
geom_histogram(
aes(y = after_stat(density)),
bins = 10,
fill = "#76A5AF",
colour = "white",
linewidth = 0.6,
alpha = 0.85
) +
geom_density(
colour = "#C0392B",
fill = "#E6B0AA",
alpha = 0.25,
linewidth = 1.1
) +
geom_vline(
data = ringkasan_distribusi,
aes(xintercept = Median),
colour = "#154360",
linetype = "dashed",
linewidth = 0.9
) +
geom_vline(
data = ringkasan_distribusi,
aes(xintercept = Rata_rata),
colour = "#D35400",
linetype = "dotdash",
linewidth = 0.9
) +
facet_wrap(~Indikator, scales = "free", ncol = 1) +
labs(
title = "Distribusi Indikator Mortalitas dan AHH",
subtitle = "Sebaran nilai pada provinsi Indonesia, 2020",
x = "Nilai indikator",
y = "Kepadatan",
caption = "Garis biru putus-putus: median. Garis oranye: rata-rata."
) +
theme_minimal(base_size = 12) +
theme(
plot.title = element_text(
face = "bold", size = 16, colour = "#17324D"
),
plot.subtitle = element_text(colour = "#526579"),
strip.text = element_text(
face = "bold", size = 11, colour = "#17324D"
),
panel.grid.minor = element_blank(),
panel.spacing = unit(1.2, "lines"),
plot.title.position = "plot"
)
grafik_distribusi

Hubungan
antarindikator
Hubungan IMR dan
AHH
# Menyiapkan data yang lengkap untuk korelasi IMR dan AHH
data_imr_ahh <- data_akhir |>
select(Provinsi, IMR, AHH) |>
drop_na()
if (nrow(data_imr_ahh) >= 3) {
hasil_korelasi_imr_ahh <- cor.test(
data_imr_ahh$IMR,
data_imr_ahh$AHH,
method = "pearson"
)
print(hasil_korelasi_imr_ahh)
grafik_imr_ahh <- ggplot(
data_imr_ahh,
aes(x = IMR, y = AHH)
) +
geom_smooth(
method = "lm", se = TRUE,
colour = "#C0392B", fill = "#F5B7B1",
alpha = 0.35, linewidth = 1
) +
geom_point(
shape = 21, size = 3.5, stroke = 0.7,
fill = "#2874A6", colour = "white"
) +
geom_text(
aes(label = Provinsi),
size = 2.7, colour = "#34495E",
check_overlap = TRUE, nudge_y = 0.05
) +
labs(
title = "Hubungan IMR dan Angka Harapan Hidup",
subtitle = paste0(
"Korelasi Pearson = ",
round(unname(hasil_korelasi_imr_ahh$estimate), 3),
" | p-value = ",
format.pval(hasil_korelasi_imr_ahh$p.value, digits = 3)
),
x = "IMR per 1.000 kelahiran hidup",
y = "AHH (tahun)",
caption = "Setiap titik mewakili satu provinsi."
) +
tema_grafik +
theme(
panel.grid.major = element_line(
colour = "grey90", linewidth = 0.4
)
)
print(grafik_imr_ahh)
} else {
cat("Data tidak cukup untuk korelasi IMR dan AHH.\n")
}
##
## Pearson's product-moment correlation
##
## data: data_imr_ahh$IMR and data_imr_ahh$AHH
## t = -144.59, df = 32, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9996218 -0.9984549
## sample estimates:
## cor
## -0.9992355

Hubungan CDR dan
AHH
# Menyiapkan data yang lengkap untuk korelasi CDR dan AHH
data_cdr_ahh <- data_akhir |>
select(Provinsi, CDR, AHH) |>
drop_na()
if (nrow(data_cdr_ahh) >= 3) {
hasil_korelasi_cdr_ahh <- cor.test(
data_cdr_ahh$CDR,
data_cdr_ahh$AHH,
method = "pearson"
)
print(hasil_korelasi_cdr_ahh)
grafik_cdr_ahh <- ggplot(
data_cdr_ahh,
aes(x = CDR, y = AHH)
) +
geom_smooth(
method = "lm", se = TRUE,
colour = "#C0392B", fill = "#F5B7B1",
alpha = 0.35, linewidth = 1
) +
geom_point(
shape = 21, size = 3.5, stroke = 0.7,
fill = "#D68910", colour = "white"
) +
geom_text(
aes(label = Provinsi),
size = 2.7, colour = "#34495E",
check_overlap = TRUE, nudge_y = 0.05
) +
labs(
title = "Hubungan Rasio Kematian Teregistrasi dan AHH",
subtitle = paste0(
"Korelasi Pearson = ",
round(unname(hasil_korelasi_cdr_ahh$estimate), 3),
" | p-value = ",
format.pval(hasil_korelasi_cdr_ahh$p.value, digits = 3)
),
x = "Rasio kematian teregistrasi per 1.000 penduduk",
y = "AHH (tahun)",
caption = "Setiap titik mewakili satu provinsi."
) +
tema_grafik +
theme(
panel.grid.major = element_line(
colour = "grey90", linewidth = 0.4
)
)
print(grafik_cdr_ahh)
} else {
cat("Data tidak cukup untuk korelasi CDR dan AHH.\n")
}
##
## Pearson's product-moment correlation
##
## data: data_cdr_ahh$CDR and data_cdr_ahh$AHH
## t = 1.9564, df = 32, p-value = 0.05919
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.01271984 0.59882889
## sample estimates:
## cor
## 0.3268518

Ringkasan hasil
# Menentukan provinsi dengan nilai indikator tertinggi dan terendah
prov_imr_max <- data_akhir |>
filter(!is.na(IMR)) |>
slice_max(IMR, n = 1, with_ties = FALSE)
prov_imr_min <- data_akhir |>
filter(!is.na(IMR)) |>
slice_min(IMR, n = 1, with_ties = FALSE)
prov_cdr_max <- data_akhir |>
filter(!is.na(CDR)) |>
slice_max(CDR, n = 1, with_ties = FALSE)
prov_cdr_min <- data_akhir |>
filter(!is.na(CDR)) |>
slice_min(CDR, n = 1, with_ties = FALSE)
prov_ahh_max <- data_akhir |>
filter(!is.na(AHH)) |>
slice_max(AHH, n = 1, with_ties = FALSE)
prov_ahh_min <- data_akhir |>
filter(!is.na(AHH)) |>
slice_min(AHH, n = 1, with_ties = FALSE)
ringkasan_hasil <- tibble(
Indikator = c("IMR", "IMR", "CDR", "CDR", "AHH", "AHH"),
Keterangan = c(
"Tertinggi", "Terendah",
"Tertinggi", "Terendah",
"Tertinggi", "Terendah"
),
Provinsi = c(
prov_imr_max$Provinsi, prov_imr_min$Provinsi,
prov_cdr_max$Provinsi, prov_cdr_min$Provinsi,
prov_ahh_max$Provinsi, prov_ahh_min$Provinsi
),
Nilai = c(
prov_imr_max$IMR, prov_imr_min$IMR,
prov_cdr_max$CDR, prov_cdr_min$CDR,
prov_ahh_max$AHH, prov_ahh_min$AHH
)
)
knitr::kable(
ringkasan_hasil,
digits = 3,
caption = "Provinsi dengan nilai indikator tertinggi dan terendah"
)
Provinsi dengan nilai indikator tertinggi dan
terendah
| IMR |
Tertinggi |
PAPUA |
38.170 |
| IMR |
Terendah |
DKI JAKARTA |
10.380 |
| CDR |
Tertinggi |
DI YOGYAKARTA |
6.201 |
| CDR |
Terendah |
SULAWESI BARAT |
0.220 |
| AHH |
Tertinggi |
DKI JAKARTA |
75.200 |
| AHH |
Terendah |
PAPUA |
67.590 |
Ekspor hasil
Bagian ini menyimpan tabel hasil analisis sebagai berkas CSV di
direktori kerja R.
# Menyimpan tabel indikator dan statistik deskriptif
write_csv(
indikator_mortalitas,
"hasil_indikator_mortalitas_2020.csv"
)
write_csv(
statistik_deskriptif,
"statistik_deskriptif_mortalitas_2020.csv"
)
write_csv(
ringkasan_hasil,
"ringkasan_hasil_mortalitas_2020.csv"
)
getwd()
## [1] "C:/Users/Hype G12/Downloads"
Catatan
interpretasi
- IMR disajikan per 1.000 kelahiran hidup.
- CDR hasil perhitungan menggunakan jumlah kematian teregistrasi
dibagi jumlah penduduk SP2020 dikali 1.000. Interpretasikan dengan
hati-hati jika cakupan pencatatan kematian belum lengkap atau penyebut
tidak sesuai definisi CDR standar.
- AHH disajikan dalam satuan tahun.
- Perbedaan indikator antarprovinsi dapat menjadi bahan pembahasan
pemerataan kesehatan dan prioritas kebijakan. Kesimpulan substantif
sebaiknya ditulis setelah hasil tabel dan grafik diperiksa.