Load data

setwd("C:/Users/USER/OneDrive - Universitas Terbuka/R project/Tugas 2 ADV") 

import library

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

import data

Tugas_2<- read_excel("Tugas 2 - data_pendapatan.xlsx", skip = 2)

colnames(Tugas_2)<-c("index","pendapatan", "kebahagiaan")

Cek data hilang

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" ...

Mengubah tipe data dari character ke numeric

Tugas_2$kebahagiaan <- as.numeric(Tugas_2$kebahagiaan)
Tugas_2$pendapatan <- as.numeric(Tugas_2$pendapatan)

Histogram kebahagiaan

hist(Tugas_2$kebahagiaan, main="Histogram Kebahagiaan",
xlab="Kebahagiaan", ylab="Frekuensi", col="lightpink")

interpretasi histogram

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.

Scatter plot

plot(Tugas_2$pendapatan, Tugas_2$kebahagiaan, main="Scatter Plot",
xlab="Pendapatan", ylab="Kebahagiaan", pch=19, col="blue")

interpretasi scatter plot

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.

Regresi linear

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

Penjelasan hasil regresi linear

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.

Cek homoskedastisitas

plot(model, which=1)

Penjelasan plot homoskedastisitas

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.

Visualisasi 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")

Kesimpulan akhir

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.