library(ggplot2)
library(zoo)
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
library(car)
## Loading required package: carData
library(stats)
data <- read.table(file.choose(), header = TRUE, sep = "\t")
data
## Y X1 X2 X3
## 1 57.5 78 2.75 29.5
## 2 52.8 69 2.15 26.3
## 3 61.3 77 4.41 32.2
## 4 67.0 88 5.52 36.5
## 5 53.5 67 3.21 27.2
## 6 62.7 80 4.32 27.7
## 7 56.2 74 2.31 28.3
## 8 68.5 94 4.30 30.3
## 9 69.2 102 3.71 28.7
# a. Scatter Plot X1 dan Y
ggplot(data, aes(x = X1, y = Y)) +
geom_point(color = "#E91E63", size = 3, alpha = 0.8) +
geom_smooth(
method = "lm",
se = FALSE,
color = "#4A148C",
linewidth = 1,
linetype = "dashed"
) +
labs(
title = "Scatter Plot Umur Bayi dan Panjang Bayi",
x = "Umur",
y = "Panjang Bayi"
) +
scale_x_continuous(breaks = seq(65, 105, 2)) +
scale_y_continuous(breaks = seq(52, 72, 1)) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", size = 14)
)
## `geom_smooth()` using formula = 'y ~ x'
# b. Scatter Plot Berat Badan Bayi dan Panjang Bayi
ggplot(data, aes(x = X2, y = Y)) +
geom_point(color = "#2E8B57", size = 3, alpha = 0.8) +
geom_smooth(
method = "lm",
se = FALSE,
color = "#E65100",
linewidth = 1,
linetype = "dashed"
) +
labs(
title = "Scatter Plot Berat Badan Bayi dan Panjang Bayi",
x = "Badan Bayi",
y = "Panjang Bayi"
) +
scale_x_continuous(breaks = seq(2, 6, 0.5)) +
scale_y_continuous(breaks = seq(52, 72, 1)) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", size = 14)
)
## `geom_smooth()` using formula = 'y ~ x'
# c. Scatter Plot Lingkar Dada Bayi dan Panjang Bayi
ggplot(data, aes(x = X3, y = Y)) +
geom_point(color = "#F9A825", size = 3, alpha = 0.8) +
geom_smooth(
method = "lm",
se = FALSE,
color = "#C2185B",
linewidth = 1,
linetype = "dashed"
) +
labs(
title = "Scatter Plot Lingkar Dada Bayi dan Panjang Bayi",
x = "Lingkar Dada Bayi",
y = "Panjang Bayi"
) +
scale_x_continuous(breaks = seq(25, 40, 1)) +
scale_y_continuous(breaks = seq(52, 72, 1)) +
theme_minimal() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", size = 14)
)
## `geom_smooth()` using formula = 'y ~ x'
#Regresi Linier Berganda
RLB=lm(Y~X1+X2+X3,data=data)
summary(RLB)
##
## Call:
## lm(formula = Y ~ X1 + X2 + X3, data = data)
##
## Residuals:
## 1 2 3 4 5 6 7 8 9
## -0.2981 -0.2142 0.4714 -0.4746 -0.9524 0.4761 0.9274 0.7466 -0.6823
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 21.87353 4.07389 5.369 0.00302 **
## X1 0.41277 0.03067 13.460 4.05e-05 ***
## X2 2.20267 0.47199 4.667 0.00550 **
## X3 -0.07895 0.15551 -0.508 0.63330
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.8484 on 5 degrees of freedom
## Multiple R-squared: 0.9888, Adjusted R-squared: 0.9821
## F-statistic: 147.1 on 3 and 5 DF, p-value: 2.696e-05
vif(RLB)
## X1 X2 X3
## 1.403219 3.093549 2.607991
##Uji Non-Heteroskedastisitas
#1.Uji breusch-pagan
library(lmtest)
bptest(RLB)
##
## studentized Breusch-Pagan test
##
## data: RLB
## BP = 0.52402, df = 3, p-value = 0.9136
#2.Uji gletser
#Membuat absolute residual
data$abs_residual <- abs(residuals(RLB))
data$abs_residual
## [1] 0.2980857 0.2141744 0.4714083 0.4745650 0.9524106 0.4760829 0.9274363
## [8] 0.7466056 0.6822975
glejser <- lm(abs_residual ~ X1 + X2 + X3, data = data)
summary(glejser)
##
## Call:
## lm(formula = abs_residual ~ X1 + X2 + X3, data = data)
##
## Residuals:
## 1 2 3 4 5 6 7 8
## -0.24968 -0.37078 -0.06495 -0.01987 0.35744 -0.17650 0.37477 0.12608
## 9
## 0.02347
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.000238 1.548904 0.646 0.547
## X1 0.002391 0.011660 0.205 0.846
## X2 0.035130 0.179452 0.196 0.853
## X3 -0.024936 0.059127 -0.422 0.691
##
## Residual standard error: 0.3226 on 5 degrees of freedom
## Multiple R-squared: 0.04467, Adjusted R-squared: -0.5285
## F-statistic: 0.07793 on 3 and 5 DF, p-value: 0.9692
##Uji Non-Autokorelasi
#1.Uji breusch-godfrey
bgtest(RLB)
##
## Breusch-Godfrey test for serial correlation of order up to 1
##
## data: RLB
## LM test = 0.51249, df = 1, p-value = 0.4741
#2.Uji durbin-watson
dwtest(RLB, alternative='two.sided')
##
## Durbin-Watson test
##
## data: RLB
## DW = 1.6446, p-value = 0.233
## alternative hypothesis: true autocorrelation is not 0
#Uji Normalitas
##Uji shapiro-wilk
shapiro.test(residuals(RLB))
##
## Shapiro-Wilk normality test
##
## data: residuals(RLB)
## W = 0.93208, p-value = 0.5014
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
You can also embed plots, for example:
Note that the echo = FALSE parameter was added to the
code chunk to prevent printing of the R code that generated the
plot.