Data dalam penelitian ini berasal dari data sekunder yang diperoleh melalui situs resmi Badan Pusat Statistik (BPS) Provinsi Jawa Tengah tahun 2023.
Y: Laju PDRB X1: Tingkat Partisipasi Angakatan Kerja X2: Indeks Pembangunan Manusia X3: Tingkat Pengangguran Terbuka X4: Angka Harapan Hidup X5: Presentase Penduduk Miskin
library(readxl)
library(dplyr)
##
## 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)
data <-read_excel("D:/Artikel pingky/Variabel Skripsi 2023 New.xlsx")
View(data)
numerik_data <- data[sapply(data, is.numeric)]
hasil <- data.frame(
Mean = sapply(numerik_data, mean, na.rm = TRUE),
Variance = sapply(numerik_data, var, na.rm = TRUE),
SD = sapply(numerik_data, sd, na.rm = TRUE),
Max = sapply(numerik_data, max, na.rm = TRUE),
Min = sapply(numerik_data, min, na.rm = TRUE)
)
# Menampilkan hasil
print(hasil)
## Mean Variance SD Max Min
## Y 4.985714 0.5489899 0.7409385 5.79 2.19
## X1 72.108000 17.0726871 4.1319108 82.45 64.60
## X2 74.165429 19.5126079 4.4173078 84.99 67.95
## X3 4.864857 2.8544845 1.6895220 8.98 1.92
## X4 75.233714 3.2988652 1.8162778 77.93 69.96
## X5 10.396857 10.6584104 3.2647221 16.34 4.23
File Excel perlu dibersihkan terlebih dahulu agar dapat diproses dengan baik di R. Pada kolom yang berisi data numerik, pastikan tidak ada karakter selain angka, seperti tanda persen, tanda petik, atau pemisah ribuan. Format sel juga harus diubah menjadi tipe Number, dan spasi yang tidak diperlukan dihapus. Dengan pembersihan ini, pembacaan data di R dapat dilakukan tanpa muncul peringatan (warning), sehingga analisis bisa berjalan secara optimal.
# Scatterplot dasar
plot(data$X1, data$Y,
main = "",
xlab = "",
ylab = "",
pch = 16, col = "black")
# Tambahkan garis halus dengan loess (seperti kurva)
model_loess <- loess(Y ~ X1, data = data)
x_vals <- seq(min(data$X1), max(data$X1), length.out = 200)
y_vals <- predict(model_loess, newdata = data.frame(X1 = x_vals))
# Tambahkan garis ke plot
lines(x_vals, y_vals, col = "blue", lwd = 2)
# Scatterplot dasar
plot(data$X2, data$Y,
main = "",
xlab = "",
ylab = "",
pch = 16, col = "black")
# Tambahkan garis halus dengan loess (seperti kurva)
model_loess <- loess(Y ~ X2, data = data)
x_vals <- seq(min(data$X2), max(data$X2), length.out = 200)
y_vals <- predict(model_loess, newdata = data.frame(X2 = x_vals))
# Tambahkan garis ke plot
lines(x_vals, y_vals, col = "blue", lwd = 2)
# Scatterplot dasar
plot(data$X3, data$Y,
main = "",
xlab = "",
ylab = "",
pch = 16, col = "black")
# Tambahkan garis halus dengan loess (seperti kurva)
model_loess <- loess(Y ~ X3, data = data)
x_vals <- seq(min(data$X3), max(data$X3), length.out = 200)
y_vals <- predict(model_loess, newdata = data.frame(X3 = x_vals))
# Tambahkan garis ke plot
lines(x_vals, y_vals, col = "blue", lwd = 2)
# Scatterplot dasar
plot(data$X4, data$Y,
main = "",
xlab = "",
ylab = "",
pch = 16, col = "black")
# Tambahkan garis halus dengan loess (seperti kurva)
model_loess <- loess(Y ~ X4, data = data)
x_vals <- seq(min(data$X4), max(data$X4), length.out = 200)
y_vals <- predict(model_loess, newdata = data.frame(X4 = x_vals))
# Tambahkan garis ke plot
lines(x_vals, y_vals, col = "blue", lwd = 2)
# Scatterplot dasar
plot(data$X5, data$Y,
main = "",
xlab = "",
ylab = "",
pch = 16, col = "black")
# Tambahkan garis halus dengan loess (seperti kurva)
model_loess <- loess(Y ~ X5, data = data)
x_vals <- seq(min(data$X5), max(data$X5), length.out = 200)
y_vals <- predict(model_loess, newdata = data.frame(X5 = x_vals))
# Tambahkan garis ke plot
lines(x_vals, y_vals, col = "blue", lwd = 2)
Terdapat hubungan yang tidak linier antara Laju Produk Domestik Regional
Bruto dan Persentase Penduduk Miskin. Scatterplot menunjukkan sebaran
titik yang acak tanpa pola konsisten, sehingga daerah dengan kemiskinan
rendah tidak selalu memiliki pertumbuhan ekonomi tinggi. Hal ini
mengindikasikan hubungan yang kompleks dan menjadi alasan pemilihan
regresi nonparametrik spline truncated.
#install.packages("car")
library(car)
## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
# Model regresi linear
model <- lm(Y ~ X1 + X2 + X3 + X4 + X5, data = data)
# Cek multikolinearitas dengan VIF
vif_output <- vif(model)
print(vif_output)
## X1 X2 X3 X4 X5
## 1.819256 4.774451 2.493520 4.871587 2.195093
Pengujian dilakukan dengan memeriksa nilai Variance Inflation Factor (VIF) pada setiap variabel independen. Nilai VIF yang melebihi 10 mengindikasikan adanya multikolinearitas. Hasil menunjukkan bahwa seluruh variabel independen memiliki nilai VIF di bawah 10.