1.Fierianti(F1F023002)
2.Anggi Cahaya Kristanti(F1F023032)
3.Muhammad Agil Ramadhan(F1F023041)
4.Elya Septi Mulyani(F1F023043)
Data yang digunakan merupakan data jumlah perceraian menurut provinsi dan faktor pada tahun 2023. Di mana variabelnya adalah faktor-faktor yang mempengaruhi jumlah perceraian dalam setahun anatara lain: meninggalkan salah satu pihak (X1), kekerasan dalam rumah tangga (X2), ekonomi (X3), terhadap jumlah perceraian (Y) di Indonesia pada tahun 2023.
| Provinsi | Meninggalkan Salah satu Pihak | Kekerasan Dalam Rumah Tangga | Perselisihan dan Pertengkaran Terus Menerus | Ekonomi | Jumlah Perceraian indonesia |
|---|---|---|---|---|---|
| Aceh | 669 | 102 | 4915 | 235 | 6086 |
| Sumatera Utara | 1065 | 136 | 13709 | 465 | 15660 |
| Sumatera Barat | 859 | 19 | 6969 | 113 | 8036 |
| Riau | 797 | 71 | 7333 | 231 | 8617 |
| Jambi | 324 | 49 | 3931 | 157 | 4573 |
| Sumatera Selatan | 955 | 259 | 8311 | 574 | 10374 |
| Bengkulu | 272 | 43 | 3139 | 123 | 3641 |
| Lampung | 667 | 167 | 10099 | 2838 | 14038 |
| Kepulauan Bangka Belitung | 180 | 62 | 1453 | 452 | 2239 |
| Kepulauan Riau | 384 | 13 | 2658 | 170 | 3301 |
| DKI Jakarta | 1970 | 178 | 9464 | 2452 | 14381 |
| Jawa Barat | 3418 | 442 | 48812 | 37383 | 91146 |
| Jawa Tengah | 7378 | 235 | 36618 | 23176 | 68133 |
| DI Yogyakarta | 547 | 58 | 3921 | 583 | 5187 |
| Jawa Timur | 5986 | 1636 | 35940 | 33572 | 79248 |
| Banten | 592 | 224 | 9671 | 3327 | 14133 |
| Bali | 87 | 15 | 886 | 34 | 1065 |
| Nusa Tenggara Barat | 1189 | 240 | 4997 | 198 | 6766 |
| Nusa Tenggara Timur | 112 | 19 | 320 | 8 | 471 |
| Kalimantan Barat | 649 | 86 | 3750 | 312 | 4979 |
| Kalimantan Tengah | 495 | 35 | 2310 | 178 | 3147 |
| Kalimantan Selatan | 346 | 77 | 5517 | 330 | 6537 |
| Kalimantan Timur | 962 | 137 | 4708 | 766 | 6910 |
| Kalimantan Utara | 95 | 3 | 850 | 9 | 977 |
| Sulawesi Utara | 279 | 57 | 1296 | 76 | 1818 |
| Sulawesi Tengah | 421 | 101 | 2820 | 78 | 3581 |
| Sulawesi Selatan | 1771 | 333 | 9856 | 399 | 12806 |
| Sulawesi Tenggara | 547 | 170 | 2748 | 57 | 3673 |
| Gorontalo | 388 | 62 | 1452 | 40 | 2062 |
| Sulawesi Barat | 335 | 39 | 712 | 33 | 1151 |
| Maluku | 101 | 29 | 632 | 8 | 793 |
| Maluku Utara | 247 | 28 | 857 | 10 | 1168 |
| Papua Barat | 75 | 22 | 285 | 69 | 494 |
| Papua | 160 | 27 | 889 | 32 | 1156 |
Melakukan uji normalitas yang dimana uji normalitas adalah sebuah uji yang dilakukan dengan tujuan untuk menilai sebaran data pada sebuah kelompok data atau variabel, apakah sebaran data tersebut berdistribusi normal ataukah tidak. Uji Normalitas berguna untuk menentukan data yang telah dikumpulkan berdistribusi normal atau diambil dari populasi normal. Pada uji normalitas kali ini menggunakan uji normalitas Shapiro-Wilk.
# Melakukan uji Shapiro-Wilk untuk meninggal salah satu pihak
shapiro_test_result<- shapiro.test(KOMSTAT7$`Meninggalkan Salah satu Pihak`)
print("shapiro test result:")
## [1] "shapiro test result:"
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$`Meninggalkan Salah satu Pihak`
## W = 0.55657, p-value = 5.683e-09
if (shapiro_test_result$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data tidak berdistribusi normal, maka lakukan transformasi data"
# Melakukan uji Shapiro-Wilk untuk kekerasan dalam rumah tangga
shapiro_test_result<- shapiro.test(KOMSTAT7$`Kekerasan Dalam Rumah Tangga`)
print("shapiro test result:")
## [1] "shapiro test result:"
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$`Kekerasan Dalam Rumah Tangga`
## W = 0.45162, p-value = 3.835e-10
if (shapiro_test_result$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data tidak berdistribusi normal, maka lakukan transformasi data"
# Melakukan uji Shapiro-Wilk untuk perselisishan dan pertengkaran
shapiro_test_result<- shapiro.test(KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`)
print("shapiro test result:")
## [1] "shapiro test result:"
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`
## W = 0.60381, p-value = 2.197e-08
if (shapiro_test_result$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data tidak berdistribusi normal, maka lakukan transformasi data"
# Melakukan uji Shapiro-Wilk untuk Ekonomi
shapiro_test_result<- shapiro.test(KOMSTAT7$Ekonomi)
print("shapiro test result:")
## [1] "shapiro test result:"
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$Ekonomi
## W = 0.38495, p-value = 8.257e-11
if (shapiro_test_result$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data tidak berdistribusi normal, maka lakukan transformasi data"
# Melakukan uji Shapiro-Wilk untuk jumlah perceraian
shapiro_test_result<- shapiro.test(KOMSTAT7$`Jumlah Perceraian indonesia`)
print("shapiro test result:")
## [1] "shapiro test result:"
print(shapiro_test_result)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$`Jumlah Perceraian indonesia`
## W = 0.51035, p-value = 1.654e-09
if (shapiro_test_result$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data tidak berdistribusi normal, maka lakukan transformasi data"
Transformasi Data merupakan suatu proses yang dilakukan untuk mengubah nilai data asli menjadi data baru menggunakan suatu formula/fungsi/operasi dengan tujuan dapat membuat pola data menjadi simetris, pola hubungan antar variabel menjadi linier, penyebaran titik pada scatter plot menjadi merata.
Melakukan transformasi dengan menggunakan transformasi logaritma pada siap variabel yang ada pada data
# Log transformasi pada meninggal salah satu pihak
KOMSTAT7$log_transform <- log(KOMSTAT7$`Meninggalkan Salah satu Pihak`)
# Melakukan uji Shapiro-Wilk pada data yang sudah di-log transformasi
shapiro_test_result_log <- shapiro.test(KOMSTAT7$log_transform)
print("shapiro test result log:")
## [1] "shapiro test result log:"
print(shapiro_test_result_log)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$log_transform
## W = 0.96794, p-value = 0.4071
if (shapiro_test_result_log$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data berdistribusi normal"
# Log transformasi pada Kekesaran dalam rumah tangga
KOMSTAT7$log_transform <- log(KOMSTAT7$`Kekerasan Dalam Rumah Tangga`)
# Melakukan uji Shapiro-Wilk pada data yang sudah di-log transformasi
shapiro_test_result_log <- shapiro.test(KOMSTAT7$log_transform)
print("shapiro test result log:")
## [1] "shapiro test result log:"
print(shapiro_test_result_log)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$log_transform
## W = 0.98623, p-value = 0.9364
if (shapiro_test_result_log$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data berdistribusi normal"
# Log transformasi pada perselisihan dan pertengkaran terus menerus
KOMSTAT7$log_transform <- log(KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`)
# Melakukan uji Shapiro-Wilk pada data yang sudah di-log transformasi
shapiro_test_result_log <- shapiro.test(KOMSTAT7$log_transform)
print("shapiro test result log:")
## [1] "shapiro test result log:"
print(shapiro_test_result_log)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$log_transform
## W = 0.97638, p-value = 0.6559
if (shapiro_test_result_log$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data berdistribusi normal"
# Log transformasi pada ekonomi
KOMSTAT7$log_transform <- log(KOMSTAT7$Ekonomi)
# Melakukan uji Shapiro-Wilk pada data yang sudah di-log transformasi
shapiro_test_result_log <- shapiro.test(KOMSTAT7$log_transform)
print("shapiro test result log:")
## [1] "shapiro test result log:"
print(shapiro_test_result_log)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$log_transform
## W = 0.93951, p-value = 0.05962
if (shapiro_test_result_log$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data berdistribusi normal"
# Log transformasi pada jumlah perceraian
KOMSTAT7$log_transform <- log(KOMSTAT7$`Jumlah Perceraian indonesia`)
# Melakukan uji Shapiro-Wilk pada data yang sudah di-log transformasi
shapiro_test_result_log <- shapiro.test(KOMSTAT7$log_transform)
print("shapiro test result log:")
## [1] "shapiro test result log:"
print(shapiro_test_result_log)
##
## Shapiro-Wilk normality test
##
## data: KOMSTAT7$log_transform
## W = 0.96123, p-value = 0.2639
if (shapiro_test_result_log$p.value>0.05) {
print ("Data berdistribusi normal")
} else {
print("Data tidak berdistribusi normal, maka lakukan transformasi data")
}
## [1] "Data berdistribusi normal"
Diagram dahan-daun (atau stem-and-leaf plot) adalah cara untuk menampilkan distribusi data numerik secara visual, terutama digunakan untuk data kecil hingga sedang. Di R, Anda dapat membuat diagram dahan-daun menggunakan fungsi bawaan stem()
Boxplot, atau diagram kotak, adalah salah satu metode visualisasi data yang digunakan untuk menunjukkan distribusi variabel numerik. Boxplot dapat memberikan informasi penting mengenai karakteristik data, seperti nilai tengah (median), kuartil, dan potensi outlier. Dalam konteks R, boxplot sering digunakan untuk memvisualisasikan data dalam analisis statistik.
# Menghapus karakter non-numerik
KOMSTAT7_numeric <- as.numeric(gsub("[^0-9.]", "", KOMSTAT7))
# Menghapus NA
KOMSTAT7_numeric <- na.omit(KOMSTAT7_numeric)
stem(KOMSTAT7_numeric)
##
## The decimal point is 140 digit(s) to the right of the |
##
## 0 | 0000
## 2 |
## 4 |
## 6 | 1
X5<- as.numeric(KOMSTAT7$`Jumlah Perceraian indonesia`)
X4 <-as.numeric(KOMSTAT7$Ekonomi)
X3<-as.numeric(KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`)
X2<-as.numeric(KOMSTAT7$`Kekerasan Dalam Rumah Tangga`)
X1<-as.numeric(KOMSTAT7$`Meninggalkan Salah satu Pihak`)
boxplot(X1, X2, X3, X4, X5,
names = c("Meninggalkan Salah satu Pihak",
"Kekerasan Dalam Rumah Tangga",
"Perselisihan dan Pertengkaran",
"Ekonomi",
"Jumlah Perceraian"),
main = "Boxplot Faktor Penyebab Perceraian",
ylab = "Nilai",
col = c("lightblue", "lightgreen", "lightpink", "lightyellow", "lightcoral"),
border = "darkblue",
notch = FALSE)
##### ESKPLORASI HUBUNGAN DUA VARIABEL NUMERIK
Ekplorasi Hubungan Dua Variabel Numerik:Eksplorasi hubungan dua variabel numerik adalah proses dalam analisis data untuk memahami keterkaitan atau hubungan antara dua variabel yang masing-masing memiliki nilai numerik (angka). Tujuan dari eksplorasi ini adalah untuk melihat pola, tren, atau asosiasi antara variabel-variabel tersebut.
Dalam hubungan dua variabel numerik ini metode yang digunakan yaitu plot tebaran dan tebaran bertanda serta mengetahui korelasi pada data yang ada.
library(corrplot)
library(ggplot2)
# Memeriksa nama kolom
names(KOMSTAT7)
## [1] "Provinsi"
## [2] "Meninggalkan Salah satu Pihak"
## [3] "Kekerasan Dalam Rumah Tangga"
## [4] "Perselisihan dan Pertengkaran Terus Menerus"
## [5] "Ekonomi"
## [6] "Jumlah Perceraian indonesia"
## [7] "log_transform"
# Memilih 4 variabel dari data (gantilah sesuai dengan nama kolom dalam file)
data_perceraian_selected <- KOMSTAT7[, c("Meninggalkan Salah satu Pihak",
"Kekerasan Dalam Rumah Tangga",
"Perselisihan dan Pertengkaran Terus Menerus",
"Jumlah Perceraian indonesia")]
# 1. Membuat scatter plot dengan kombinasi 4 variabel
# Scatter plot antara `Kekerasan Dalam Rumah Tangga` dan `Jumlah Perceraian`
ggplot(data_perceraian_selected, aes(x = `Kekerasan Dalam Rumah Tangga`, y = `Jumlah Perceraian indonesia`)) +
geom_point(color = 'blue', size = 5, shape = 21, alpha = 0.8, fill = 'lightblue') + # Perbaikan alpha
labs(title = "Scatter Plot: Kekerasan Dalam Rumah Tangga vs Jumlah Perceraian",
x = "Kekerasan Dalam Rumah Tangga",
y = "Jumlah Perceraian") +
theme_minimal()
# Scatter plot antara `Meninggalkan Salah satu Pihak` dan `Jumlah Perceraian`
ggplot(data_perceraian_selected, aes(x = `Meninggalkan Salah satu Pihak`, y = `Jumlah Perceraian indonesia`)) +
geom_point(color = 'purple', size = 5, shape = 21, alpha = 0.8, fill = 'violet') + # Perbaikan alpha
labs(title = "Scatter Plot: Meninggalkan Salah satu Pihak vs Jumlah Perceraian",
x = "Meninggalkan Salah satu Pihak",
y = "Jumlah Perceraian") +
theme_minimal()
# 2. Membuat plot tebaran bertanda (Jitter plot) untuk setiap kombinasi variabel
# Jitter plot antara `Kekerasan Dalam Rumah Tangga` dan `Jumlah Perceraian`
ggplot(data_perceraian_selected, aes(x = `Kekerasan Dalam Rumah Tangga`, y = `Jumlah Perceraian indonesia`)) +
geom_jitter(color = 'darkgreen', size = 3, width = 0.1, height = 0.1, alpha = 0.5, shape = 21, fill = 'lightgreen') +
labs(title = "Jitter Plot: Kekerasan Dalam Rumah Tangga vs Jumlah Perceraian",
x = "Kekerasan Dalam Rumah Tangga",
y = "Jumlah Perceraian") +
theme_minimal()
# Jitter plot antara `Perselisihan dan Pertengkaran Terus Menerus` dan `Jumlah Perceraian`
ggplot(data_perceraian_selected, aes(x = `Perselisihan dan Pertengkaran Terus Menerus`, y = `Jumlah Perceraian indonesia`)) +
geom_jitter(color = 'darkblue', size = 3, width = 0.1, height = 0.1, alpha = 0.5, shape = 21, fill = 'lightblue') +
labs(title = "Jitter Plot: Perselisihan & Pertengkaran vs Jumlah Perceraian",
x = "Perselisihan dan Pertengkaran",
y = "Jumlah Perceraian") +
theme_minimal()
# 3. Membuat heatmap korelasi dari 4 variabel
# Menghitung matriks korelasi
corr_matrix <- cor(data_perceraian_selected, use = "complete.obs")
# Menampilkan heatmap korelasi
corrplot(corr_matrix, method = "color", type = "upper",
tl.col = "black", tl.srt = 45, addCoef.col = "black",
title = "Heatmap Korelasi dari 4 Variabel", mar = c(0,0,1,0),
addgrid.col = "grey", # Menambahkan grid
col = colorRampPalette(c("blue", "white", "red"))(200)) # Menentukan skema warna
# Menampilkan matriks korelasi ke layar (opsional)
print("Matriks Korelasi untuk 4 Variabel yang Dipilih:")
## [1] "Matriks Korelasi untuk 4 Variabel yang Dipilih:"
formattable(corr_matrix)
## Meninggalkan Salah satu Pihak
## Meninggalkan Salah satu Pihak 1
## Kekerasan Dalam Rumah Tangga 0.6983
## Perselisihan dan Pertengkaran Terus Menerus 0.8723
## Jumlah Perceraian indonesia 0.8875
## Kekerasan Dalam Rumah Tangga
## Meninggalkan Salah satu Pihak 0.6983
## Kekerasan Dalam Rumah Tangga 1
## Perselisihan dan Pertengkaran Terus Menerus 0.6678
## Jumlah Perceraian indonesia 0.7265
## Perselisihan dan Pertengkaran Terus Menerus
## Meninggalkan Salah satu Pihak 0.8723
## Kekerasan Dalam Rumah Tangga 0.6678
## Perselisihan dan Pertengkaran Terus Menerus 1
## Jumlah Perceraian indonesia 0.9896
## Jumlah Perceraian indonesia
## Meninggalkan Salah satu Pihak 0.8875
## Kekerasan Dalam Rumah Tangga 0.7265
## Perselisihan dan Pertengkaran Terus Menerus 0.9896
## Jumlah Perceraian indonesia 1
Eksplorasi Hubungan dua Variabel Kategorik adalah dilakukan dengan menganalisis dua variabel yang berisi kategori atau label, bukan angka.
Eksplorasi ini menggunakan metode comparative bar charts dan menggunakan chi-square
#Mengonversi variabel menjadi faktor
KOMSTAT7$`Meninggalkan Salah satu Pihak` <- as.factor(KOMSTAT7$`Meninggalkan Salah satu Pihak`)
KOMSTAT7$`Kekerasan Dalam Rumah Tangga` <- as.factor(KOMSTAT7$`Kekerasan Dalam Rumah Tangga`)
KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus` <- as.factor(KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`)
KOMSTAT7$`Jumlah Perceraian indonesia` <- as.factor(KOMSTAT7$`Jumlah Perceraian indonesia`)
# Membuat Tabel Kontingensi
tab_kontingensi <- table(KOMSTAT7$`Meninggalkan Salah satu Pihak`, KOMSTAT7$`Kekerasan Dalam Rumah Tangga`)
# Uji Chi-Square
chisq_test_result <- chisq.test(tab_kontingensi)
print(chisq_test_result)
##
## Pearson's Chi-squared test
##
## data: tab_kontingensi
## X-squared = 1020, df = 992, p-value = 0.2618
# Grafik Batang Perbandingan
ggplot(KOMSTAT7, aes(x = `Meninggalkan Salah satu Pihak`, fill = `Kekerasan Dalam Rumah Tangga`)) +
geom_bar(position = "dodge") +
labs(title = "Hubungan antara Meninggalkan Salah satu Pihak dan Kekerasan Dalam Rumah Tangga",
x = "Meninggalkan Salah satu Pihak",
y = "Jumlah") +
theme_minimal() +
scale_fill_brewer(palette = "Set1")
# Tabel Kontingensi untuk variabel lain
tab_kontingensi_2 <- table(KOMSTAT7$`Meninggalkan Salah satu Pihak`, KOMSTAT7$`Perselisihan dan Pertengkaran Terus Menerus`)
# Uji Chi-Square untuk variabel lain
chisq_test_result_2 <- chisq.test(tab_kontingensi_2)
print(chisq_test_result_2)
##
## Pearson's Chi-squared test
##
## data: tab_kontingensi_2
## X-squared = 1088, df = 1056, p-value = 0.2408
# Grafik Batang Perbandingan untuk variabel lain
ggplot(KOMSTAT7, aes(x = `Meninggalkan Salah satu Pihak`, fill = `Perselisihan dan Pertengkaran Terus Menerus`)) +
geom_bar(position = "dodge") +
labs(title = "Hubungan antara Meninggalkan Salah satu Pihak dan Perselisihan dan Pertengkaran Terus Menerus",
x = "Meninggalkan Salah satu Pihak",
y = "Jumlah") +
theme_minimal() +
scale_fill_brewer(palette = "Set1")
Garis resisten merupakan salah satu analisis data eksploratif yang penting untuk menyesuaikan model regresi.Velleman dan Hoaglin menyarankan pemasangan garis resisten sebelum melakukan regresi linier yaitu untuk melihat hubungan linier dua buah variabel dan untuk mengidentifikasi apakah pada dataset terdapat outlier.Garis resisten akan sangat bermanfaat apabila di dalam dataset terdapat pencilan atau outlier yang mempengaruhi rata-rata.
mengiput data pada r studio menggunakan impor dataset/library readxl
library(readxl)
KOMSTAT7 <- read_excel("D:/AGIL/KOMSTAT7.xlsx")
Resisten <- eda_rline(KOMSTAT7, KOMSTAT7$Ekonomi, KOMSTAT7$`Jumlah Perceraian indonesia`)
Resisten
## $b
## [1] 4.592586
##
## $a
## [1] 2338.408
##
## $res
## [1] -1889.343886 -1567.343886 -1387.936472 -1201.529057 -1314.565949
## [6] -1324.158535 -1414.751121 -445.306637 1087.619401 -2146.491631
## [11] -854.639733 899.175095 5193.434585 752.508725 1528.360802
## [16] 196.657184 5.916496 3533.064776 5232.509438 2683.139094
## [21] 1222.509973 2697.843425 8649.954992 -2160.452066 11200.844316
## [26] 5414.252443 185.919169 1068.475933 796.375951 -1319.362242
## [31] -3470.136792 -40628.376144 -77257.900114 -82862.245329
##
## $x
## [1] 8 8 9 10 32 33 34 40 57 69 76 78
## [13] 113 123 157 170 178 198 231 235 312 330 399 452
## [25] 465 574 583 766 2452 2838 3327 23176 33572 37383
##
## $y
## [1] 471 793 977 1168 1156 1151 1065 2062 3673 494 1818 3581
## [13] 8036 3641 4573 3301 3147 6766 8617 6086 4979 6537 12806 2239
## [25] 15660 10374 5187 6910 14381 14038 14133 68133 79248 91146
##
## $xmed
## [1] 33.5 198.0 2452.0
##
## $ymed
## [1] 1153.5 6086.0 14133.0
##
## $index
## [1] 12 23 34
##
## $xlab
## [1] "KOMSTAT7$Ekonomi"
##
## $ylab
## [1] "KOMSTAT7$`Jumlah Perceraian indonesia`"
##
## $px
## [1] 1
##
## $py
## [1] 1
##
## $iter
## [1] 4
##
## attr(,"class")
## [1] "eda_rline"
# Plot data dengan garis resistensi
# Membuat plot scatter "Jumlah Perceraian Indonesia" vs "Ekonomi"
plot(KOMSTAT7$`Jumlah Perceraian indonesia`,
KOMSTAT7$Ekonomi,
pch = 20,
main = "Perceraian Berdasarkan Ekonomi vs Jumlah Perceraian",
xlab = "Jumlah Perceraian Indonesia",
ylab = "Ekonomi")
# Menambahkan garis resistensi berdasarkan nilai a (intercept) dan b (slope)
abline(a = Resisten$a, b = Resisten$b, col = rgb(1, 0, 0, 0.5))
#Membuat plot Rline dengan median
plot(KOMSTAT7$`Jumlah Perceraian indonesia`,
KOMSTAT7$Ekonomi,
pch = 20,
main = "Perceraian Berdasarkan Ekonomi vs Jumlah Perceraian",
xlab = "Jumlah Perceraian Indonesia",
ylab = "Ekonomi")
abline(a = Resisten$a, b = Resisten$b, col = rgb(1,0,0,0.5))
points(x=Resisten$xmed, y=Resisten$ymed, col=rgb(1,0,0,0.5), pch=20, cex=3)
#plot3 plot dengan garis regresi
plot(KOMSTAT7$`Jumlah Perceraian indonesia`,
KOMSTAT7$Ekonomi,
pch = 20,
main = "Perceraian Berdasarkan Ekonomi vs Jumlah Perceraian",
xlab = "Jumlah Perceraian Indonesia",
ylab = "Ekonomi")
Regresi<-lm(KOMSTAT7$Ekonomi ~ KOMSTAT7$`Jumlah Perceraian indonesia`, KOMSTAT7)
Regresi
##
## Call:
## lm(formula = KOMSTAT7$Ekonomi ~ KOMSTAT7$`Jumlah Perceraian indonesia`,
## data = KOMSTAT7)
##
## Coefficients:
## (Intercept) KOMSTAT7$`Jumlah Perceraian indonesia`
## -1720.3504 0.4089
abline(Regresi, KOMSTAT7, lty=2, col=rgb(1,0,0,0.5))
Eksplorasi data multivariat adalah proses menganalisis dan memahami hubungan antara dua atau lebih variabel dalam satu dataset. Ini melibatkan penggunaan teknik statistik dan visualisasi data untuk mengidentifikasi pola,ketergantungan, dan interaksi antara variabel-variabel tersebut.
Salah satu tehknik eksplorasi data multivariat yang biasa digunakan adalah analsis klaster. Eksplorasi data dengan menggunakan analisis klaster (cluster analysis) adalah teknik yang digunakan untuk mengelompokkan data menjadi kelompok-kelompok yang memiliki kesamaan karakteristik.
# Scaling data agar memiliki skala yang seragam
data_scaled <- scale(KOMSTAT7[, 2:6])
# Metode Hierarki: Mencoba beberapa metode linkage
# Menghitung jarak dan cluster dengan metode single linkage
Hierarki_method_single <- hclust(dist(data_scaled), method = "single")
Hierarki_method_complete <- hclust(dist(data_scaled), method = "complete")
Hierarki_method_average <- hclust(dist(data_scaled), method = "average")
Hierarki_method_centroid <- hclust(dist(data_scaled), method = "centroid")
# Menghitung Cophenetic Correlation untuk setiap metode
jarak_single <- cophenetic(Hierarki_method_single)
jarak_complete <- cophenetic(Hierarki_method_complete)
jarak_average <- cophenetic(Hierarki_method_average)
jarak_centroid <- cophenetic(Hierarki_method_centroid)
# Korelasi Cophenetic untuk masing-masing metode
cor(dist(data_scaled), jarak_single)
## [1] 0.9819534
cor(dist(data_scaled), jarak_complete)
## [1] 0.9829942
cor(dist(data_scaled), jarak_average)
## [1] 0.9845926
cor(dist(data_scaled), jarak_centroid)
## [1] 0.9838044
Nilai korelasi terbesar adalah untuk metode average linkage dengan nilai korelasi 0.9845926. Ini menunjukkan bahwa metode average linkage adalah metode yang paling baik dalam memodelkan jarak asli dari data berdasarkan Cophenetic Correlation dibandingkan dengan metode lainnya (single, complete, dan centroid).
# Membuat dendrogram dengan metode average linkage
Hierarki_method_average <- hclust(dist(data_scaled), method = "average")
# Plot dendrogram sebelum pengelompokan
plot(Hierarki_method_average, labels = KOMSTAT7$Provinsi, main = "Dendrogram Average Linkage Setelah Pengelompokan",
xlab = "Provinsi", sub = "", ylab = "Jarak")
#Plot dendrogram Mengelompokkan data menjadi 4 cluster
rect.hclust(Hierarki_method_average, k = 4, border = "red")
# Hasil Mengelompokkan data ke dalam 4 cluster
HasilCluster <- cutree(Hierarki_method_single, k = 4)
HasilCluster
## [1] 1 1 1 1 1 1 1 1 1 1 1 2 3 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
formattable(HasilCluster)
## [1] 1 1 1 1 1 1 1 1 1 1 1 2 3 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
# Menambahkan hasil clustering ke dalam data
KOMSTAT7$Cluster <- HasilCluster
Pada metode ini terlebih dahulu harus ditentukan jumlah cluster yang diinginkan dan centroid tiap cluster. Kemudian dihitung jarak untuk setiap objek ke centroid, lalu masukkan objek ke dalam cluster yang memiliki jarak terdekat dengan centroid cluster yang berpadanan.
Hitung kembali tiap centroid yang terbentuk, ulangi step smapai tidak terdapat objek yang berpindah antar cluster.Metode ini biasanya dinamakan dengan k-mean.
nonhicluster<-kmeans(scale(KOMSTAT7[,2:6]),4)
nonhicluster
## K-means clustering with 4 clusters of sizes 4, 6, 21, 3
##
## Cluster means:
## Meninggalkan Salah satu Pihak Kekerasan Dalam Rumah Tangga
## 1 0.2899294 0.35635879
## 2 -0.1166575 -0.09416536
## 3 -0.4330951 -0.35499069
## 4 2.8784082 2.19812049
## Perselisihan dan Pertengkaran Terus Menerus Ekonomi
## 1 0.06742842 -0.2506368
## 2 0.12055617 -0.2084906
## 3 -0.47159919 -0.3343456
## 4 2.97017742 3.0915825
## Jumlah Perceraian indonesia
## 1 -0.04228340
## 2 -0.03542559
## 3 -0.42096809
## 4 3.07400568
##
## Clustering vector:
## [1] 3 2 2 2 3 1 3 2 3 3 1 4 4 3 4 2 3 1 3 3 3 3 2 3 3 3 1 3 3 3 3 3 3 3
##
## Within cluster sum of squares by cluster:
## [1] 0.6498035 1.0528079 1.2112246 20.3110751
## (between_SS / total_SS = 85.9 %)
##
## Available components:
##
## [1] "cluster" "centers" "totss" "withinss" "tot.withinss"
## [6] "betweenss" "size" "iter" "ifault"
# Membuat cluster plot
fviz_cluster(nonhicluster, main="plot K-Means",data=KOMSTAT7[,2:6])
#hasil pengelompokkan berdasarkan cluster
HasilCluster2 <- data.frame(id=KOMSTAT7$Provinsi, nonhicluster$cluster)
formattable(HasilCluster2)
| id | nonhicluster.cluster |
|---|---|
| Aceh | 3 |
| Sumatera Utara | 2 |
| Sumatera Barat | 2 |
| Riau | 2 |
| Jambi | 3 |
| Sumatera Selatan | 1 |
| Bengkulu | 3 |
| Lampung | 2 |
| Kepulauan Bangka Belitung | 3 |
| Kepulauan Riau | 3 |
| DKI Jakarta | 1 |
| Jawa Barat | 4 |
| Jawa Tengah | 4 |
| DI Yogyakarta | 3 |
| Jawa Timur | 4 |
| Banten | 2 |
| Bali | 3 |
| Nusa Tenggara Barat | 1 |
| Nusa Tenggara Timur | 3 |
| Kalimantan Barat | 3 |
| Kalimantan Tengah | 3 |
| Kalimantan Selatan | 3 |
| Kalimantan Timur | 2 |
| Kalimantan Utara | 3 |
| Sulawesi Utara | 3 |
| Sulawesi Tengah | 3 |
| Sulawesi Selatan | 1 |
| Sulawesi Tenggara | 3 |
| Gorontalo | 3 |
| Sulawesi Barat | 3 |
| Maluku | 3 |
| Maluku Utara | 3 |
| Papua Barat | 3 |
| Papua | 3 |
dari “Mengoptimalisasi R Studio dalam Analisis Data Eksploratif untuk Membangun Wawasan Mendalam melalui Pendekatan Statistik dan Visualisasi dengan Studi Kasus Data Perceraian di Indonesia” adalah sebagai berikut:
Pemanfaatan EDA dalam Memahami Data Perceraian: Analisis data eksploratif (EDA) menjadi langkah penting dalam memahami tren dan pola perceraian di Indonesia. Dengan EDA, data dapat dianalisis untuk melihat perubahan tingkat perceraian, penyebab, dan demografi yang terlibat.
Optimalisasi R Studio: R Studio, melalui paket seperti tidyverse, dan ggplot2, membantu dalam pengelolaan, pembersihan, dan analisis data perceraian. Fitur scripting dan visualisasi memudahkan pengguna untuk melakukan analisis statistik secara mendalam.
Statistik dan Visualisasi: Statistik deskriptif, seperti mean, median, dan distribusi data, membantu menganalisis tingkat perceraian per provinsi atau kategori lain. Visualisasi, seperti grafik tren perceraian tahunan dan diagram demografis, memberikan pemahaman yang lebih jelas terkait faktor-faktor penyebab perceraian.
Wawasan dari Data Perceraian: Melalui analisis dan visualisasi data perceraian, ditemukan pola signifikan yang dapat menginformasikan kebijakan terkait. Misalnya, peningkatan perceraian di provinsi tertentu atau tren tertentu yang berkaitan dengan faktor sosial-ekonomi.
Efisiensi dan Pengambilan Keputusan: Optimalisasi penggunaan R Studio tidak hanya meningkatkan efisiensi proses analisis data, tetapi juga membantu dalam menghasilkan wawasan yang mendalam dan relevan untuk mendukung pengambilan keputusan berbasis data dalam isu perceraian di Indonesia.
Secara keseluruhan, melalui pendekatan statistik dan visualisasi dalam R Studio, studi kasus data perceraian di Indonesia memberikan pemahaman yang lebih tajam dan mendalam yang dapat membantu para pengguna kepentingan dalam menyusun kebijakan dan solusi yang tepat.