# Membaca data

dataLiver <- read.csv("D:/firlan/Documents/College/Semester 4/Analisis Regeresi/data liver.csv", sep=";")

dataLiver
##    No    X1    X2    X3    X4    X5   X6      Y
## 1   1 16.36  8.90  3.47  6.02 57.42 1.11 158.76
## 2   2 26.68 21.22  3.53 12.07 61.38 1.36 197.19
## 3   3 12.49 16.62  2.00  8.88 67.42 1.47 144.73
## 4   4  8.45 22.86  6.71  7.46 69.94 1.31 140.06
## 5   5 10.19 14.23  4.75  2.06 65.68 1.25 129.71
## 6   6 19.53 17.35  1.95  7.54 59.63 1.14 162.59
## 7   7 20.65 10.48  2.21  4.88 59.42 1.07 178.48
## 8   8 22.96 14.23  4.25  3.69 75.08 1.73 120.90
## 9   9 21.22 21.64  4.10 11.94 43.42 0.87 191.24
## 10 10  8.11  3.16  0.78  8.82 75.12 1.47 150.03
## 11 11 24.74  7.84  1.68  3.68 57.65 1.08 173.44
## 12 12 11.38 15.71  3.56  7.20 39.93 0.74 211.98
## 13 13 15.82 15.04  2.40  9.89 51.27 1.02 193.49
## 14 14  8.36  9.01  2.01  3.40 50.52 0.94 164.04
## 15 15 12.04  9.72  2.27  6.03 51.60 1.05 156.97
## 16 16 10.97  4.58  1.73  5.55 56.63 1.03 208.36
## 17 17  7.97  9.33  0.57  4.17 79.09 1.61 154.62
## 18 18  7.46  6.11  1.73  2.99 57.20 1.07 137.38
## 19 19 29.09 15.71  3.41  9.35 56.44 1.10 180.15
## 20 20 10.30  8.54  2.32 10.78 60.43 1.17 228.47
## 21 21  7.82  4.41  1.07  4.19 59.52 1.00 153.62
## 22 22 14.71  6.29  1.77  6.16 65.05 1.30 121.31
## 23 23  8.54  6.73  1.27  5.52 65.65 1.17 157.37
## 24 24 23.05 11.34  5.39  3.00 33.57 0.63 211.27
## 25 25 13.12  5.86  1.89 10.92 52.93 0.90 178.16
## 26 26  7.41  9.11  2.05  5.50 53.72 0.91 174.89
## 27 27 14.59  5.59  1.26  3.75 58.62 1.14 142.98
## 28 28  8.52  6.52  1.00  6.92 56.61 1.11 165.59
## 29 29 18.97  6.35  2.94  5.61 56.41 1.07 141.54
## 30 30 35.41 36.36 14.23 15.00 41.52 0.89 238.22
## 31 31  4.55  1.27  3.13  2.83 70.91 1.27 138.42
## 32 32 22.59 28.70 10.51 10.35 32.74 0.66 247.45
## 33 33  9.21  4.55  1.19  7.92 72.20 1.34 140.27
## 34 34 18.32 11.61  2.91  8.07 52.23 1.02 216.06
## 35 35  5.69  6.88  1.18  2.78 72.12 1.39 144.18
## 36 36 11.21 11.92  3.31 10.29 60.65 1.69 156.22
y<-dataLiver$Y
x1<-dataLiver$X1
x2<-dataLiver$X2
x3<-dataLiver$X3
x4<-dataLiver$X4 
x5<-dataLiver$X5
x6<-dataLiver$X6

dataLiver <- data.frame(cbind(y,x1,x2,x3,x4,x5,x6))
# Membaca banyaknya data (baris) dan variabel (kolom)

#-- banyaknya data (baris)
n = nrow(dataLiver)
n
## [1] 36
#-- banyaknya variabel (kolom)
p = ncol(dataLiver)
p
## [1] 7
# -- EKSPLORASI DATA --
plot(x4,y)

# INTERPRETASI: Berdasarkan scatter plot dapat diamati bahwa terdapat hubungan linear positif antara variabel x4 dan y. Semakin besar nilai pada variabel x4 maka semakin tinggi pula nilai pada variabel y. Selain itu, kedua variabel tersebut memiliki derajat korelasi yang lemah. Keragaman antar amatan besar ditandai dengan jarak titik-titik amatan yang saling berjauhan.
# --memunculkan nilai min, max, q1, q2(median), q3, dan mean dari variabel x4
summary(x4)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   2.060   4.065   6.095   6.811   8.998  15.000
# --memunculkan nilai min, max, q1, q2(median), q3, dan mean dari variabel y
summary(y)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   120.9   143.9   160.7   169.7   191.8   247.4
# --memunculkan boxplot dari variabel
boxplot(x4)

# PEMBENTUKAN MODEL REGRESI DENGAN CARA MANUAL
# --parameter regresi 
b1<-(sum(x4*y)-sum(x4)*sum(y)/n)/(sum(x4^2)-(sum(x4)^2/n))
b1
## [1] 5.812239
b0<-mean(y)-b1*mean(x4)
b0
## [1] 130.1367
# INTERPRETASI: b1 (slope) = Setiap peningkatan satu satuan dari variabel x4 mengakibatkan kenaikan sebesar 5,812239 pada variabel y. b0 (intercept) =  Ketika variabel x4 bernilai 0 mengakibatkan variabel y bernilai 130,1367. Namun b0 tidak dapat diinerpretasikan saat variabel x4 bernilai 0 karena nilai 0 tidak terdapat pada selang.
# --koefisien determinasi dan penyesuaiannya
r<-(sum(x4*y)-sum(x4)*sum(y)/n)/
sqrt((sum(x4^2)-(sum(x4)^2/n))*(sum(y^2)-(sum(y)^2/n)))
r
## [1] 0.5636914
Koef_det<-r^2
Koef_det
## [1] 0.317748
Adj_R2<-1-((1-Koef_det)*(n-1)/(n-1-1))
Adj_R2
## [1] 0.2976818
# INTERPRETASI: Korelasi antara variabel x4 dan y sebesar 0,5636914. Menunjukkan korelasi dengan tingkatan sedang. Koefisien determinasi menunjukkan angka 0,317748 yang berarti variabel y dijelaskan oleh variabel x4 sebesar 31,7748%
# standar error parameter regresi
galat<-y-(b0+b1*x1)
ragam_galat<-sum(galat^2)/(n-2)


# --standar error b1
se_b1<-sqrt(ragam_galat/sum((x4-mean(x4))^2))
se_b1
## [1] 3.288784
# --standar error b0
se_b0<-sqrt(ragam_galat*(1/n+mean(x4)^2/sum((x4-mean(x4))^2)))
se_b0
## [1] 24.67608
# signifikansi parameter (nilai-t)
t_b0<-b0/se_b0
t_b0
## [1] 5.273799
t_b1<-b1/se_b1
t_b1
## [1] 1.767292
2*pt(-abs(t_b0),df<-n-2)
## [1] 7.576925e-06
2*pt(-abs(t_b1),df<-n-2)
## [1] 0.08615488
# ukuran keragaman
galat<-y-(b0+b1*x4)

JKG <- sum((y - (b0+b1*x4))^2)
JKReg <- sum(((b0+b1*x4)- mean(y))^2)
JKT <- sum((y - mean(y))^2)
JKT <- JKReg+JKG

dbReg<-1
dbg<-n-2
dbt<-n-1

Fhit<-(JKReg/dbReg)/(JKG/dbg)
Fhit
## [1] 15.83496
# p-value
P.value<-1-pf(Fhit, dbReg, dbg, lower.tail <- F)
P.value
## [1] 0.0003435874
# PEMODELAN DENGAN FUNGSI LM
model<-lm(y~x4,data<-dataLiver)
summary(model)
## 
## Call:
## lm(formula = y ~ x4, data = data <- dataLiver)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -44.630 -13.162  -4.809  15.601  63.697 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  130.137     10.959  11.875  1.2e-13 ***
## x4             5.812      1.461   3.979 0.000344 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 27.58 on 34 degrees of freedom
## Multiple R-squared:  0.3177, Adjusted R-squared:  0.2977 
## F-statistic: 15.83 on 1 and 34 DF,  p-value: 0.0003436