library(rmarkdown) #membuat markdown dengan Bahasa R menggunakan Rstudio
library(car) #pendamping analisis regresi yang diterapkan
## Loading required package: carData
library(lmtest) #pengujian model regresi linier
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
contoh analisis Regresi Linear ganda sederhana hubungan antara lamanya pengalaman karyawan dengan banyaknya gaji yang didapatkan data diambil dari Dataset : https://www.kaggle.com/datasets/karthickveerakumar/salary-data-simple-linear-regression
datagaji <- read.csv("C:/Belajar/Kalkulus/Salary_Data.csv")
datagaji
## YearsExperience Salary
## 1 1.1 39343
## 2 1.3 46205
## 3 1.5 37731
## 4 2.0 43525
## 5 2.2 39891
## 6 2.9 56642
## 7 3.0 60150
## 8 3.2 54445
## 9 3.2 64445
## 10 3.7 57189
## 11 3.9 63218
## 12 4.0 55794
## 13 4.0 56957
## 14 4.1 57081
## 15 4.5 61111
## 16 4.9 67938
## 17 5.1 66029
## 18 5.3 83088
## 19 5.9 81363
## 20 6.0 93940
## 21 6.8 91738
## 22 7.1 98273
## 23 7.9 101302
## 24 8.2 113812
## 25 8.7 109431
## 26 9.0 105582
## 27 9.5 116969
## 28 9.6 112635
## 29 10.3 122391
## 30 10.5 121872
str(datagaji)
## 'data.frame': 30 obs. of 2 variables:
## $ YearsExperience: num 1.1 1.3 1.5 2 2.2 2.9 3 3.2 3.2 3.7 ...
## $ Salary : num 39343 46205 37731 43525 39891 ...
Analisis Grafik Scatter plot
scatter.smooth(x=datagaji$YearsExperience, y=datagaji$Salary, main="Gambar 1. Smooth Scatter Plot Salary~YearsExperience", xlab="Salary", ylab="Years Experience", pch=16, col="brown1") # scatterplot
Boxplot
par(mfrow=c(1,2)) #Membagi area grafik menjadi 2 kolom
boxplot(datagaji$YearsExperience, main="Gambar 2.1. Boxplot Years Experience",sub=paste("Outlier rows: ", boxplot.stats(datagaji$YearsExperience)$out), col="darkseagreen1") #box plot untuk YearsExperience
boxplot(datagaji$Salary, main="Gambar 2.2. Boxplot Salary",sub=paste("Outlier rows: ", boxplot.stats(datagaji$Salary)$out), col="darksalmon") #box plot untuk Salary
Analisis korelasi pada kasus ini untuk mengetahui hubungan antara
lamanya karyawan dengan banyaknya gaji yang didapatkan
cor(datagaji[1:2], method="pearson")
## YearsExperience Salary
## YearsExperience 1.0000000 0.9782416
## Salary 0.9782416 1.0000000
Analisis Regresi
X<-datagaji$YearsExperience
Y<-datagaji$Salary
regresi<-lm(Y~X, data=datagaji) #membentuk analisis regresi sederhana
print(regresi)
##
## Call:
## lm(formula = Y ~ X, data = datagaji)
##
## Coefficients:
## (Intercept) X
## 25792 9450
summary(regresi)
##
## Call:
## lm(formula = Y ~ X, data = datagaji)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7958.0 -4088.5 -459.9 3372.6 11448.0
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 25792.2 2273.1 11.35 5.51e-12 ***
## X 9450.0 378.8 24.95 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5788 on 28 degrees of freedom
## Multiple R-squared: 0.957, Adjusted R-squared: 0.9554
## F-statistic: 622.5 on 1 and 28 DF, p-value: < 2.2e-16
nilai koefisien beta0 sebesar 25792 yang berarti apabila lama pengalaman kerja bernilai 0 maka jumlah gaji akan naik sebesar 25792 nilai koefisien beta1 sebesar 9450 yang berarti apabila lama pengalaman kerja naik sebesar 1 satuan maka jumlah gaji akan naik sebsar 9450 *Bentuk persamaan regresinya adalah Y = 25792 + 9450X
Daftar Pustaka Dataset : https://www.kaggle.com/datasets/karthickveerakumar/salary-data-simple-linear-regression