# Input Data
data <- data.frame(
Motivasi = c(70,75,80,60,85,78,90,65,72,88),
WaktuBelajar = c(2,3,3,1,4,3,4,2,2,4),
Dukungan = c(65,70,72,60,75,70,85,63,68,80),
Kepuasan = c(72,78,83,65,88,80,92,70,75,90)
)
# Scatter Plot
plot(data$Motivasi, data$Kepuasan,
main = "Scatter Plot Motivasi vs Kepuasan Belajar",
xlab = "Motivasi Belajar",
ylab = "Kepuasan Belajar",
pch = 19,
col = "blue")
abline(lm(Kepuasan ~ Motivasi, data=data), col="red", lwd=2)
cor(data$Motivasi, data$Kepuasan)
## [1] 0.9963214
plot(data$WaktuBelajar, data$Kepuasan,
main = "Scatter Plot Waktu Belajar vs Kepuasan",
xlab = "Waktu Belajar (Jam/Hari)",
ylab = "Kepuasan Belajar",
pch = 19,
col = "darkgreen")
abline(lm(Kepuasan ~ WaktuBelajar, data=data), col="red", lwd=2)
cor(data$WaktuBelajar, data$Kepuasan)
## [1] 0.9746829
plot(data$Dukungan, data$Kepuasan,
main = "Scatter Plot Dukungan Sosial vs Kepuasan",
xlab = "Dukungan Sosial",
ylab = "Kepuasan Belajar",
pch = 19,
col = "purple")
abline(lm(Kepuasan ~ Dukungan, data=data), col="red", lwd=2)
cor(data$Dukungan, data$Kepuasan)
## [1] 0.9711559
pairs(data,
main = "Scatter Plot Matrix Variabel Penelitian",
pch = 19,
col = "blue")
# Matriks Korelasi
mat_korelasi =cor(data)
mat_korelasi
## Motivasi WaktuBelajar Dukungan Kepuasan
## Motivasi 1.0000000 0.9694235 0.9694528 0.9963214
## WaktuBelajar 0.9694235 1.0000000 0.9235078 0.9746829
## Dukungan 0.9694528 0.9235078 1.0000000 0.9711559
## Kepuasan 0.9963214 0.9746829 0.9711559 1.0000000
nterpretasi:
Motivasi memiliki korelasi kuat dengan kepuasan belajar.
Dukungan sosial juga menunjukkan hubungan kuat.
# Visualisasi Korelasi
library(corrplot)
## corrplot 0.95 loaded
corrplot(mat_korelasi,
method = "circle",
type = "upper",
addCoef.col = "white",
tl.col = "black",
tl.srt = 45,
number.cex = 0.8)
# Pergitungan Manual Uji F
R <- cor(data)
R
## Motivasi WaktuBelajar Dukungan Kepuasan
## Motivasi 1.0000000 0.9694235 0.9694528 0.9963214
## WaktuBelajar 0.9694235 1.0000000 0.9235078 0.9746829
## Dukungan 0.9694528 0.9235078 1.0000000 0.9711559
## Kepuasan 0.9963214 0.9746829 0.9711559 1.0000000
# Mengambil Matriks Korelasi Variabel Bebas dan Korelasi dengan Variabel Terikat
R_xx <- R[1:3,1:3] # matriks korelasi antar variabel X
R_yx <- R[4,1:3] # korelasi Y dengan masing-masing X
# Menghitung Koefisien Determinasi
R2 <- t(R_yx) %*% solve(R_xx) %*% R_yx
R2
## [,1]
## [1,] 0.9950019
Artinya 99% variasi kepuasan belajar dapat dijelaskan oleh motivasi belajar, waktu belajar, dan dukungan sosial secara simultan.
R_multiple <- sqrt(R2)
R_multiple
## [,1]
## [1,] 0.9974978
Terdapat hubungan yang sangat kuat antara variabel motivasi belajar, waktu belajar, dan dukungan sosial dengan kepuasan belajar mahasiswa.
n <- nrow(data)
k <- 3
F_hit <- (R2/k)/((1-R2)/(n-k-1))
F_hit
## [,1]
## [1,] 398.1527
qf(0.95, df1 = 3, df2 = 6)
## [1] 4.757063
Kriteria: Fhitung>Ftabel 398.1527>4.76 maka tolah H0. Pada taraf signifikan 5%, terdapat hubungan yang signifikan antara motivasi belajar, waktu belajar, dan dukungan sosial secara simultan dengan kepuasan belajar mahasiswa.
data <- data.frame(
WelfareScore = c(95000,119000,124800,135000,142000,145000,159000,165000,
182000,183000,200000,211000,215000,219000),
LivingSpace = c(173.34,186.21,154.80,125.64,153.54,166.23,175.50,
209.07,205.65,337.68,207.00,227.25,342.00,156.60)
)
data
## WelfareScore LivingSpace
## 1 95000 173.34
## 2 119000 186.21
## 3 124800 154.80
## 4 135000 125.64
## 5 142000 153.54
## 6 145000 166.23
## 7 159000 175.50
## 8 165000 209.07
## 9 182000 205.65
## 10 183000 337.68
## 11 200000 207.00
## 12 211000 227.25
## 13 215000 342.00
## 14 219000 156.60
# Model Regresi Sederhana
model <- lm(WelfareScore ~ LivingSpace, data = data)
model
##
## Call:
## lm(formula = WelfareScore ~ LivingSpace, data = data)
##
## Coefficients:
## (Intercept) LivingSpace
## 99704.3 318.7
summary(model)
##
## Call:
## lm(formula = WelfareScore ~ LivingSpace, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -59950 -20102 -3043 14138 69385
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 99704.3 31294.9 3.186 0.00783 **
## LivingSpace 318.7 148.4 2.147 0.05288 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 34570 on 12 degrees of freedom
## Multiple R-squared: 0.2776, Adjusted R-squared: 0.2174
## F-statistic: 4.612 on 1 and 12 DF, p-value: 0.05288
plot(data$LivingSpace, data$WelfareScore,
pch = 19,
col = "blue",
xlab = "Living Space (m²)",
ylab = "Welfare Score ($)",
main = "Scatter Plot Living Space vs Welfare Score")
abline(model, col = "red", lwd = 2)
Berdasarkan hasil analisis regresi sederhana, diperoleh model regresi yang menggambarkan hubungan antara luas tempat tinggal dan welfare score masyarakat. Koefisien regresi untuk variabel Living Space bernilai positif, yang menunjukkan bahwa semakin luas tempat tinggal seseorang, maka skor kesejahteraan subjektif cenderung meningkat. Hal ini mengindikasikan adanya hubungan positif antara luas tempat tinggal dan tingkat kesejahteraan. Jika nilai p-value lebih kecil dari 0.05, maka hubungan tersebut signifikan secara statistik pada taraf 5%.
# Analisis Regresi Berganda
data <- data.frame(
IPM = c(67.25,69.25,66.23,63.15,65.67,70.12,65.2,66.35,70.34,73.19,
73.76,66.77,73.89,70.52,67.77,65.84,67.4,66.99,72.00,69.61,68.95,
71.65,65.97,68.46,64.07,66.98,62.35,64.1,62.55,75.79,79.34,79.98,
79.24,71.53,72.2),
RLS = c(6.48,7.31,6.84,5.9,6.75,7.63,6.07,7.02,6.69,7.92,
8.41,6.23,8.47,6.85,6.32,6.02,6.9,6.35,7.83,7.29,7.44,
7.31,6.18,6.53,6.00,6.53,5.87,5.93,5.86,10.27,10.33,9.37,
10.19,8.12,8.26),
HLS = c(12.27,12.56,11.51,10.7,12.07,13.03,11.34,12.00,11.65,12.74,
12.96,11.94,13.26,12.19,12.24,11.75,11.46,11.24,12.58,12.25,11.84,
12.81,11.69,11.83,10.65,11.93,11.26,11.99,11.03,12.98,13.92,14.95,
13.97,11.93,11.96)
)
# Model regresi berganda
model <- lm(IPM ~ RLS + HLS, data=data)
summary(model)
##
## Call:
## lm(formula = IPM ~ RLS + HLS, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2584 -0.6472 0.1090 0.6677 3.3306
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 29.9995 3.6219 8.283 1.84e-09 ***
## RLS 2.2919 0.3075 7.454 1.75e-08 ***
## HLS 1.8607 0.4294 4.333 0.000136 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.291 on 32 degrees of freedom
## Multiple R-squared: 0.9266, Adjusted R-squared: 0.922
## F-statistic: 202 on 2 and 32 DF, p-value: < 2.2e-16
# Asumsi Normalitas Resudual
shapiro.test(residuals(model))
##
## Shapiro-Wilk normality test
##
## data: residuals(model)
## W = 0.96408, p-value = 0.3019
qqnorm(residuals(model))
qqline(residuals(model))
Kriteria:
p-value > 0.05 → residual normal karena 0.301 > 0.05 → residual berdistribusi normal
# Uji Non Autokorelasi
library(lmtest)
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 1.3736, p-value = 0.0209
## alternative hypothesis: true autocorrelation is greater than 0
Kriteria:
p-value > 0.05 → tidak ada autokorelasi karena 0.02 < 0.05 → masih terdapat autokorelasi
# Run test (alternative)
model <- lm(IPM ~ RLS + HLS, data=data)
res <- residuals(model)
#install.packages("randtests")
library(randtests)
runs.test(res)
##
## Runs Test
##
## data: res
## statistic = -1.3933, runs = 14, n1 = 17, n2 = 17, n = 34, p-value =
## 0.1635
## alternative hypothesis: nonrandomness
Kriteria Keputusan
p-value > 0.05 → residual acak → tidak ada autokorelasi
p-value ≤ 0.05 → residual tidak acak → terdapat autokorelasi
Berdasarkan hasil Runs Test, diperoleh nilai p-value sebesar 0.1635. Karena nilai tersebut lebih besar dari 0.05, maka hipotesis nol tidak ditolak, sehingga dapat disimpulkan bahwa residual terjadi secara acak. Dengan demikian, tidak terdapat autokorelasi pada model regresi, sehingga asumsi independensi residual telah terpenuhi.
(Jika p-value < 0.05 maka ditulis bahwa terdapat autokorelasi).
# Uji Homoskedastisitas
library(lmtest)
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.68262, df = 2, p-value = 0.7108
Kriteria:
p-value > 0.05 → tidak terjadi heteroskedastisitas karena 0.71 > 0.05 → tidak terjadi heteroskedastisitas
plot(model$fitted.values, residuals(model))
abline(h=0,col="red")
# Uji Multikolonieritas
library(car)
## Loading required package: carData
vif(model)
## RLS HLS
## 3.162025 3.162025
Kriteria:
VIF < 10 → tidak terjadi multikolinieritas sehingga asumsi multikol terpenuhi.
# Uji Simultas (F) Uji F menggunakan model regresi secara keseluruhan.
anova(model)
## Analysis of Variance Table
##
## Response: IPM
## Df Sum Sq Mean Sq F value Pr(>F)
## RLS 1 642.09 642.09 385.137 < 2.2e-16 ***
## HLS 1 31.30 31.30 18.773 0.0001363 ***
## Residuals 32 53.35 1.67
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Uji Parsial (t) Uji t digunakan untuk melihat pengaruh masing-masing variabel X terhadap Y.
summary(model)
##
## Call:
## lm(formula = IPM ~ RLS + HLS, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.2584 -0.6472 0.1090 0.6677 3.3306
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 29.9995 3.6219 8.283 1.84e-09 ***
## RLS 2.2919 0.3075 7.454 1.75e-08 ***
## HLS 1.8607 0.4294 4.333 0.000136 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.291 on 32 degrees of freedom
## Multiple R-squared: 0.9266, Adjusted R-squared: 0.922
## F-statistic: 202 on 2 and 32 DF, p-value: < 2.2e-16
# Koefisien Determinasi
summary(model)$r.squared
## [1] 0.9265903
summary(model)$adj.r.squared
## [1] 0.9220022
pairs(data)
library(GGally)
## Loading required package: ggplot2
ggpairs(data)