setwd("C:/Users/USER/OneDrive - Universitas Terbuka/R project/Tugas 2 ADV")
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.5.2
library(broom)
## Warning: package 'broom' was built under R version 4.5.2
library(ggpubr)
## Warning: package 'ggpubr' was built under R version 4.5.2
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.5.1
##
## 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(readxl)
## Warning: package 'readxl' was built under R version 4.5.1
library(naniar)
## Warning: package 'naniar' was built under R version 4.5.2
Tugas_2<- read_excel("Tugas 2 - data_pendapatan.xlsx", skip = 2)
colnames(Tugas_2)<-c("index","pendapatan", "kebahagiaan")
print(colSums(is.na(Tugas_2)))
## index pendapatan kebahagiaan
## 0 0 0
vis_miss(Tugas_2) # Visualisasi missing data
#cek tipe data
str(Tugas_2)
## tibble [497 × 3] (S3: tbl_df/tbl/data.frame)
## $ index : num [1:497] 2 3 4 5 6 7 8 9 10 11 ...
## $ pendapatan : chr [1:497] "4.793813825" "4.920956936" "3.214372439" "7.246409251" ...
## $ kebahagiaan: chr [1:497] "3.233489759" "4.599373404" "2.661113803" "5.596398273" ...
Tugas_2$kebahagiaan <- as.numeric(Tugas_2$kebahagiaan)
Tugas_2$pendapatan <- as.numeric(Tugas_2$pendapatan)
hist(Tugas_2$kebahagiaan, main="Histogram Kebahagiaan",
xlab="Kebahagiaan", ylab="Frekuensi", col="lightpink")
Histogram variabel kebahagiaan menunjukkan distribusi yang mendekati normal, ditandai dengan bentuk yang relatif simetris dan menyerupai kurva lonceng (bell-shaped). Frekuensi tertinggi berada pada rentang nilai tengah (sekitar 3–4), sedangkan frekuensi menurun secara bertahap ke arah kedua ujung (0 dan 7). Pola ini mengindikasikan bahwa sebagian besar responden memiliki tingkat kebahagiaan sedang, sementara tingkat kebahagiaan yang sangat rendah maupun sangat tinggi relatif jarang. Berdasarkan pengamatan visual, distribusi dapat dikatakan mendekati normal, namun untuk memastikan secara statistik diperlukan uji normalitas seperti Shapiro-Wilk atau Kolmogorov-Smirnov.
plot(Tugas_2$pendapatan, Tugas_2$kebahagiaan, main="Scatter Plot",
xlab="Pendapatan", ylab="Kebahagiaan", pch=19, col="blue")
Scatter plot antara variabel pendapatan (bebas) dan kebahagiaan (terikat) menunjukkan pola yang jelas mengarah ke hubungan linear positif. Titik-titik data tersebar membentuk tren naik, di mana peningkatan pendapatan diikuti oleh peningkatan kebahagiaan. Sebaran data relatif rapat di sekitar garis imajiner yang miring ke atas, meskipun terdapat sedikit variasi atau outlier, sehingga dapat disimpulkan bahwa hubungan antara kedua variabel bersifat linear dan cukup kuat. Interpretasi ini mengindikasikan bahwa semakin tinggi pendapatan, semakin tinggi pula tingkat kebahagiaan responden, sehingga analisis regresi linear dapat digunakan untuk memodelkan hubungan tersebut.
model <- lm(kebahagiaan ~ pendapatan, data=Tugas_2)
summary(model)
##
## Call:
## lm(formula = kebahagiaan ~ pendapatan, data = Tugas_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.02384 -0.47885 0.03653 0.44522 2.37913
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.21122 0.08973 2.354 0.019 *
## pendapatan 0.71213 0.01872 38.044 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.7244 on 495 degrees of freedom
## Multiple R-squared: 0.7452, Adjusted R-squared: 0.7446
## F-statistic: 1447 on 1 and 495 DF, p-value: < 2.2e-16
setiap kenaikan satu satuan pendapatan akan meningkatkan kebahagiaan sebesar 0.71213 satuan, dengan intercept 0.21122. Nilai p-value untuk pendapatan (< 2e-16) menunjukkan bahwa pengaruh pendapatan terhadap kebahagiaan sangat signifikan secara statistik. Koefisien determinasi (R² = 0.7452) mengindikasikan bahwa sekitar 74,5% variasi kebahagiaan dapat dijelaskan oleh pendapatan, sedangkan sisanya dipengaruhi oleh faktor lain. Nilai F-statistic (1447) yang sangat besar dan p-value yang mendekati nol memperkuat bahwa model regresi secara keseluruhan signifikan. Residual standard error (0.7244) relatif kecil, menunjukkan kesalahan prediksi yang rendah. Dengan demikian, terdapat hubungan linear positif yang kuat antara pendapatan dan kebahagiaan.
plot(model, which=1)
Plot “Residuals vs Fitted” menunjukkan pola sebaran residual yang relatif acak di sekitar garis horizontal nol, tanpa membentuk pola tertentu seperti kurva atau tren sistematis. Hal ini mengindikasikan bahwa asumsi linearitas dan homoskedastisitas pada model regresi terpenuhi, karena varians residual tampak konstan di sepanjang fitted values. Meskipun terdapat beberapa titik yang jauh dari garis (outlier), jumlahnya sedikit dan tidak membentuk pola yang mengganggu. Dengan demikian, model regresi linear sederhana antara pendapatan dan kebahagiaan dapat dianggap sesuai, karena tidak ada indikasi pelanggaran serius terhadap asumsi dasar regresi.
plot(Tugas_2$pendapatan, Tugas_2$kebahagiaan, main="Regresi Linear", xlab="Pendapatan", ylab="Kebahagiaan",pch=19,
col="darkgreen")
abline(model, col="red", lwd=2)
intercept<-round(coef(model)[1], 2)
slope <- round(coef(model)[2], 2)
eq<-bquote(y == .(intercept) + .(slope)*x)
text(x=max(Tugas_2$pendapatan)*0.6,y=max(Tugas_2$kebahagiaan)*0.9,labels=eq,col="blue")
Plot regresi linear menunjukkan hubungan positif yang kuat antara pendapatan dan kebahagiaan. Garis regresi berwarna merah dengan persamaan y=0.21+0.71x mengindikasikan bahwa setiap kenaikan satu satuan pendapatan akan meningkatkan kebahagiaan sebesar 0.71 satuan. Sebaran titik data hijau terlihat mengikuti pola garis regresi dengan distribusi yang cukup rapat, sehingga model linear sesuai untuk menggambarkan hubungan kedua variabel. Hal ini mendukung hasil analisis sebelumnya bahwa pendapatan merupakan prediktor signifikan terhadap kebahagiaan, dengan pengaruh yang positif dan cukup besar.