data <- read.csv("/Users/user/Downloads/Documents/Anreg 📈/data liver.csv", sep=";")
y<-data$Y
x1<-data$X1
x2<-data$X2
x3<-data$X3
x4<-data$X4
x5<-data$X5
x6<-data$X6
data<-data.frame(cbind(y,x1,x2,x3,x4,x5,x6))
head(data)
## y x1 x2 x3 x4 x5 x6
## 1 158.76 16.36 8.90 3.47 6.02 57.42 1.11
## 2 197.19 26.68 21.22 3.53 12.07 61.38 1.36
## 3 144.73 12.49 16.62 2.00 8.88 67.42 1.47
## 4 140.06 8.45 22.86 6.71 7.46 69.94 1.31
## 5 129.71 10.19 14.23 4.75 2.06 65.68 1.25
## 6 162.59 19.53 17.35 1.95 7.54 59.63 1.14
n<-nrow(data) #menunjukan jumlah barisnya
n
## [1] 36
p<-ncol(data) #menunjukan jumlah kolomnya
p
## [1] 7
summary(y)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 120.9 143.9 160.7 169.7 191.8 247.4
boxplot(y)
summary(x2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.270 6.335 9.220 11.549 15.207 36.360
boxplot(x2)
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.4 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.4 ✔ tibble 3.2.1
## ✔ lubridate 1.9.3 ✔ tidyr 1.3.0
## ✔ purrr 1.0.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(datasets)
data <- tibble::as.tibble(data)
## Warning: `as.tibble()` was deprecated in tibble 2.0.0.
## ℹ Please use `as_tibble()` instead.
## ℹ The signature and semantics have changed, see `?as_tibble`.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
library(plotly)
##
## Attaching package: 'plotly'
##
## The following object is masked from 'package:ggplot2':
##
## last_plot
##
## The following object is masked from 'package:stats':
##
## filter
##
## The following object is masked from 'package:graphics':
##
## layout
Interactive Scatter Plot
interactive.plot <- ggplot(data) +
geom_point(aes(x = x2,y = y),color="steelblue",shape=9, size=1) +
geom_smooth(aes(x = x2, y = y), method = "lm", se = FALSE, color = "grey") +
ggtitle("Scatter Plot X2 vs Y") +
ylab("Y") +
xlab("X2") +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5))
ggplotly(interactive.plot)
## `geom_smooth()` using formula = 'y ~ x'
Parameter Regresi
b1<-(sum(x2*y)-sum(x2)*sum(y)/n)/(sum(x2^2)-(sum(x2)^2/n))
b1
## [1] 2.243073
b0<-mean(y)-b1*mean(x2)
b0
## [1] 143.8205
Koefisien Determinasi dan Penyesuaiannya
r<-(sum(x2*y)-sum(x2)*sum(y)/n)/
sqrt((sum(x2^2)-(sum(x2)^2/n))*(sum(y^2)-(sum(y)^2/n)))
Koef_det<-r^2
Koef_det
## [1] 0.2592103
Adj_R2<-1-((1-Koef_det)*(n-1)/(n-1-1))
Adj_R2
## [1] 0.2374224
Standar Error Parameter Regresi
galat<-y-(b0+b1*x2)
ragam_galat<-sum(galat^2)/(n-2)
se_b1<-sqrt(ragam_galat/sum((x2-mean(x2))^2))
se_b1
## [1] 0.6503173
se_b0<-sqrt(ragam_galat*(1/n+mean(x2)^2/sum((x2-mean(x2))^2)))
se_b0
## [1] 8.90762
Signifikansi Parameter (nilai-t)
t_b0<-b0/se_b0
t_b0
## [1] 16.14578
t_b1<-b1/se_b1
t_b1
## [1] 3.449198
2*pt(-abs(t_b0 ),df<-n-2)
## [1] 1.637163e-17
2*pt(-abs(t_b1 ),df<-n-2)
## [1] 0.001518399
Nilai F hitung
galat<-y-(b0+b1*x2)
JKG <- sum((y - (b0+b1*x2))^2)
JKReg <- sum(((b0+b1*x2)- 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] 11.89697
P Value
P.value<-1-pf(Fhit, dbReg, dbg, lower.tail <- F)
P.value
## [1] 0.001518399
model<-lm(y~x2,data<-data)
summary(model)
##
## Call:
## lm(formula = y ~ x2, data = data <- data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -55.04 -14.52 -1.00 12.24 65.49
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 143.8205 8.9076 16.146 < 2e-16 ***
## x2 2.2431 0.6503 3.449 0.00152 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 28.74 on 34 degrees of freedom
## Multiple R-squared: 0.2592, Adjusted R-squared: 0.2374
## F-statistic: 11.9 on 1 and 34 DF, p-value: 0.001518
anova(model)
## Analysis of Variance Table
##
## Response: y
## Df Sum Sq Mean Sq F value Pr(>F)
## x2 1 9823.4 9823.4 11.897 0.001518 **
## Residuals 34 28074.0 825.7
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Persamaan regresi liner sederhana: \[ ŷ=143.8205 + 2.243073x \]Berdasarkan hasil yang diperoleh dari kedua metode tersebut, dapat disimpulkan bahwa keduanya valid dan memberikan hasil yang sama dengan persamaan regresi di atas. Dari persamaan tersebut, terlihat bahwa hubungan antara variabel X2 dan Y bersifat linear positif. Artinya, ketika nilai X2 meningkat satu satuan, nilai Y juga akan meningkat sebesar nilai \(b_1\), yaitu 2.243073. Selain itu, nilai \(b_0\) sebesar 143.820 merupakan nilai perkiraan rata-rata atau nilai harapan dari Y yang tidak dapat dijelaskan oleh variabel penjelas X.
Dari grafik scatter plot diatas juga dapat dilihat bahwa ragam dalam hubungan antara variabel X2 dan Y cukup besar. Hal ini diperkuat dengan nilai R-square sebesar 0.2374224 yang menunjukkan bahwa pengaruh variabel X2 terhadap variabel Y relatif lemah.