Tugas Kelompok Membuat Regresi Linier Berganda dengan Menggunakan Data Covid DKI Jakarta dan Google Mobility Index pada Bulan Januari 2022
Membangun Regresi Linier Berganda
Regresi Linear Berganda adalah model regresi linear dengan melibatkan lebih dari satu variable bebas atau predictor. Dalam bahasa inggris, istilah ini disebut dengan multiple linear regression.
Mengambil Data dan Menampilkannya
Meng Import data yang telah diubah dari excel
library(readr)
DataCovid19_DKI_Jakarta <- read_csv("DataCovid19 DKI Jakarta.csv")## Rows: 31 Columns: 15
## -- Column specification --------------------------------------------------------
## Delimiter: ","
## chr (3): country_region_code, country_region, Nama Kota
## dbl (11): retail_and_recreation_percent_change_from_baseline, grocery_and_p...
## date (1): date
##
## i Use `spec()` to retrieve the full column specification for this data.
## i Specify the column types or set `show_col_types = FALSE` to quiet this message.
DataCovid19_DKI_Jakarta## # A tibble: 31 x 15
## country_region_code country_region `Nama Kota` date retail_and_recreat~
## <chr> <chr> <chr> <date> <dbl>
## 1 ID Indonesia DKI JAKARTA 2022-01-01 3
## 2 ID Indonesia DKI JAKARTA 2022-01-02 11
## 3 ID Indonesia DKI JAKARTA 2022-01-03 14
## 4 ID Indonesia DKI JAKARTA 2022-01-04 11
## 5 ID Indonesia DKI JAKARTA 2022-01-05 12
## 6 ID Indonesia DKI JAKARTA 2022-01-06 10
## 7 ID Indonesia DKI JAKARTA 2022-01-07 6
## 8 ID Indonesia DKI JAKARTA 2022-01-08 8
## 9 ID Indonesia DKI JAKARTA 2022-01-09 7
## 10 ID Indonesia DKI JAKARTA 2022-01-10 7
## # ... with 21 more rows, and 10 more variables:
## # grocery_and_pharmacy_percent_change_from_baseline <dbl>,
## # parks_percent_change_from_baseline <dbl>,
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, POSITIF <dbl>,
## # Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>
Ringkasan Data
head(): mengecek n (default 6) observasi teratas.
tail(): mengecek n(default 6) observasi terbawah.
str(): mengecek struktur data atau jenis data pada masing-masing kolom. Jenis data yang ada pada R dapat berupa num (numerik), int (integer), Factor(factor), date (tanggal), dan chr (karakter atau string).
summary(): ringkasan data.
Berikut adalah contoh penerapan fungsi-fungsi tersebut pada dataset
Menampilkan Data Teratas
Menampilkan 6 Data teratas
head(DataCovid19_DKI_Jakarta)## # A tibble: 6 x 15
## country_region_code country_region `Nama Kota` date retail_and_recreati~
## <chr> <chr> <chr> <date> <dbl>
## 1 ID Indonesia DKI JAKARTA 2022-01-01 3
## 2 ID Indonesia DKI JAKARTA 2022-01-02 11
## 3 ID Indonesia DKI JAKARTA 2022-01-03 14
## 4 ID Indonesia DKI JAKARTA 2022-01-04 11
## 5 ID Indonesia DKI JAKARTA 2022-01-05 12
## 6 ID Indonesia DKI JAKARTA 2022-01-06 10
## # ... with 10 more variables:
## # grocery_and_pharmacy_percent_change_from_baseline <dbl>,
## # parks_percent_change_from_baseline <dbl>,
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, POSITIF <dbl>,
## # Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>
Menampilkan Data Terbawah
Menampilkan 6 Data Terbawah
tail(DataCovid19_DKI_Jakarta)## # A tibble: 6 x 15
## country_region_code country_region `Nama Kota` date retail_and_recreati~
## <chr> <chr> <chr> <date> <dbl>
## 1 ID Indonesia DKI JAKARTA 2022-01-26 9
## 2 ID Indonesia DKI JAKARTA 2022-01-27 10
## 3 ID Indonesia DKI JAKARTA 2022-01-28 7
## 4 ID Indonesia DKI JAKARTA 2022-01-29 9
## 5 ID Indonesia DKI JAKARTA 2022-01-30 8
## 6 ID Indonesia DKI JAKARTA 2022-01-31 14
## # ... with 10 more variables:
## # grocery_and_pharmacy_percent_change_from_baseline <dbl>,
## # parks_percent_change_from_baseline <dbl>,
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, POSITIF <dbl>,
## # Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>
Command head () & tail () digunakan untuk melihat baris awal dan akhir dari file data csv.
Mengecek Struktur Data
str(DataCovid19_DKI_Jakarta)## spec_tbl_df [31 x 15] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ country_region_code : chr [1:31] "ID" "ID" "ID" "ID" ...
## $ country_region : chr [1:31] "Indonesia" "Indonesia" "Indonesia" "Indonesia" ...
## $ Nama Kota : chr [1:31] "DKI JAKARTA" "DKI JAKARTA" "DKI JAKARTA" "DKI JAKARTA" ...
## $ date : Date[1:31], format: "2022-01-01" "2022-01-02" ...
## $ retail_and_recreation_percent_change_from_baseline: num [1:31] 3 11 14 11 12 10 6 8 7 7 ...
## $ grocery_and_pharmacy_percent_change_from_baseline : num [1:31] 24 35 36 33 34 30 25 31 28 27 ...
## $ parks_percent_change_from_baseline : num [1:31] 46 28 20 15 17 12 6 10 13 6 ...
## $ transit_stations_percent_change_from_baseline : num [1:31] -15 -4 -9 -9 -10 -11 -13 -6 -6 -13 ...
## $ workplaces_percent_change_from_baseline : num [1:31] -49 -4 -10 -8 -7 -5 -3 1 2 -4 ...
## $ residential_percent_change_from_baseline : num [1:31] 6 3 4 4 4 5 5 3 4 4 ...
## $ POSITIF : num [1:31] 865415 865518 865690 865805 866064 ...
## $ Dirawat : num [1:31] 205 116 140 141 168 214 221 257 299 322 ...
## $ Sembuh : num [1:31] 851280 851386 851408 851449 851520 ...
## $ Meninggal : num [1:31] 13588 13588 13588 13588 13589 ...
## $ Self Isolation : num [1:31] 342 428 554 627 787 ...
## - attr(*, "spec")=
## .. cols(
## .. country_region_code = col_character(),
## .. country_region = col_character(),
## .. `Nama Kota` = col_character(),
## .. date = col_date(format = ""),
## .. retail_and_recreation_percent_change_from_baseline = col_double(),
## .. grocery_and_pharmacy_percent_change_from_baseline = col_double(),
## .. parks_percent_change_from_baseline = col_double(),
## .. transit_stations_percent_change_from_baseline = col_double(),
## .. workplaces_percent_change_from_baseline = col_double(),
## .. residential_percent_change_from_baseline = col_double(),
## .. POSITIF = col_double(),
## .. Dirawat = col_double(),
## .. Sembuh = col_double(),
## .. Meninggal = col_double(),
## .. `Self Isolation` = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
Mengetahui summary() dari Data
summary() atau ringkasan data digunakan untuk mencari nilai statistik lima serangkai (minimum, Q1, Q2 atau median, Q3, maksimum).
summary(DataCovid19_DKI_Jakarta)## country_region_code country_region Nama Kota date
## Length:31 Length:31 Length:31 Min. :2022-01-01
## Class :character Class :character Class :character 1st Qu.:2022-01-08
## Mode :character Mode :character Mode :character Median :2022-01-16
## Mean :2022-01-16
## 3rd Qu.:2022-01-23
## Max. :2022-01-31
## retail_and_recreation_percent_change_from_baseline
## Min. : 1.000
## 1st Qu.: 6.000
## Median : 7.000
## Mean : 7.452
## 3rd Qu.: 9.000
## Max. :14.000
## grocery_and_pharmacy_percent_change_from_baseline
## Min. :20.00
## 1st Qu.:25.00
## Median :26.00
## Mean :27.55
## 3rd Qu.:29.50
## Max. :36.00
## parks_percent_change_from_baseline
## Min. :-1.00
## 1st Qu.: 5.50
## Median : 9.00
## Mean :10.94
## 3rd Qu.:14.00
## Max. :46.00
## transit_stations_percent_change_from_baseline
## Min. :-17.00
## 1st Qu.:-15.00
## Median :-14.00
## Mean :-12.65
## 3rd Qu.:-10.00
## Max. : -4.00
## workplaces_percent_change_from_baseline
## Min. :-49.000
## 1st Qu.: -4.000
## Median : 0.000
## Mean : -1.677
## 3rd Qu.: 3.000
## Max. : 8.000
## residential_percent_change_from_baseline POSITIF Dirawat
## Min. :3.000 Min. :865415 Min. : 116
## 1st Qu.:4.500 1st Qu.:867106 1st Qu.: 278
## Median :5.000 Median :870929 Median : 781
## Mean :5.258 Mean :876297 Mean :1635
## 3rd Qu.:6.000 3rd Qu.:880304 3rd Qu.:2126
## Max. :7.000 Max. :913355 Max. :6809
## Sembuh Meninggal Self Isolation
## Min. :851280 Min. :13588 Min. : 342
## 1st Qu.:851783 1st Qu.:13589 1st Qu.: 1456
## Median :853522 Median :13591 Median : 3035
## Mean :855268 Mean :13598 Mean : 5749
## 3rd Qu.:856934 3rd Qu.:13597 3rd Qu.: 7646
## Max. :867519 Max. :13666 Max. :25361
Visualisasi Data Covid-19
Visualisasi Data Menggunakan Fungsi plot()
plot(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$date,type = "o",xlab = "Pasien Positif",ylab = "Date")plot(DataCovid19_DKI_Jakarta$
retail_and_recreation_percent_change_from_baseline+DataCovid19_DKI_Jakarta$
grocery_and_pharmacy_percent_change_from_baseline+DataCovid19_DKI_Jakarta$
parks_percent_change_from_baseline+DataCovid19_DKI_Jakarta$
transit_stations_percent_change_from_baseline+DataCovid19_DKI_Jakarta$
workplaces_percent_change_from_baseline+DataCovid19_DKI_Jakarta$
residential_percent_change_from_baseline+DataCovid19_DKI_Jakarta$Dirawat+DataCovid19_DKI_Jakarta$Sembuh+DataCovid19_DKI_Jakarta$Meninggal~DataCovid19_DKI_Jakarta$date,type="o",data = DataCovid19_DKI_Jakarta)Histogram dan Density Plot
hist(DataCovid19_DKI_Jakarta$POSITIF, col = "green",xlab = "Positif Covid19",main = "Histogram Data Positif DKI Januari 2022")Density plot pada R dapat dibuat menggunakan fungsi density(). Berbeda dengan fungsi hist(), fungsi ini tidak langsung menghasilkan grafik densitas. Fungsi density() hanya menghitung kernel densitas pada data. Densitas yang telah dihitung selanjutnya diplotkan menggunakan fungsi plot(). Berikut adalah sintaks dan output yang dihasilkan
# menghitung kernel density
dens <- density(DataCovid19_DKI_Jakarta$POSITIF)
# plot densitas dengan outline merah
plot(dens,col="red",main = "Density Pasien Positif",xlab = "Pasien Positif")Kita juga dapat menambahkan grafik densitas pada histogram sehingga mempermudah pembacaan pada histogram. Untuk melakukannya kita perlu mengubah kernel histigram dari frekuensi menjadi density dengan menambahkan argumen freq=FALSE pada fungsi hist(). Selanjutnya tambahkan fungsi polygon() untuk memplotkan grafik densitas. Berikut adalah sintak dan output yang dihasilkan
# menghitung kernel density
dens <- density(DataCovid19_DKI_Jakarta$POSITIF)
hist(DataCovid19_DKI_Jakarta$POSITIF, col = "green",xlab = "Positif Covid19",main = "Histogram Data Positif DKI Januari 2022",freq = FALSE)
# tambahkan density plot
polygon(dens, border="red")Membuat Matriks dengan Fungsi pairs()
Untuk membuat matriks scatterplot kita hanya perlu memasukkan objek datacovidmobility kedalam fungsi pairs(). Berikut adalah sintaks yang digunakan dan output yang dihasilkan
library(tidyverse)## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v dplyr 1.0.8
## v tibble 3.1.6 v stringr 1.4.0
## v tidyr 1.2.0 v forcats 0.5.1
## v purrr 0.3.4
## Warning: package 'stringr' was built under R version 4.1.3
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
df <- DataCovid19_DKI_Jakarta %>% select(-(1:4))
df## # A tibble: 31 x 11
## retail_and_recreation_per~ grocery_and_pha~ parks_percent_c~ transit_station~
## <dbl> <dbl> <dbl> <dbl>
## 1 3 24 46 -15
## 2 11 35 28 -4
## 3 14 36 20 -9
## 4 11 33 15 -9
## 5 12 34 17 -10
## 6 10 30 12 -11
## 7 6 25 6 -13
## 8 8 31 10 -6
## 9 7 28 13 -6
## 10 7 27 6 -13
## # ... with 21 more rows, and 7 more variables:
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, POSITIF <dbl>,
## # Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>
pairs(df)Kita dapat melakukan drop terhadap panel bawah grafik tersebut. Untuk melakukannya kita perlu memasukkan argumen lower.panel=NULL.
pairs(df,lower.panel=NULL)# spesifikasi vaktor warna titik berdasarkan spesies
my_col <- c("#00AFBB", "#E7B800", "#FC4E07")
pairs(df,lower.panel=NULL,col=my_col)library(ggplot2)
library(reshape2)##
## Attaching package: 'reshape2'
## The following object is masked from 'package:tidyr':
##
## smiths
x<-DataCovid19_DKI_Jakarta$date
retail <- DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline
grocery <- DataCovid19_DKI_Jakarta$grocery_and_pharmacy_percent_change_from_baseline
park <- DataCovid19_DKI_Jakarta$parks_percent_change_from_baseline
station <- DataCovid19_DKI_Jakarta$transit_stations_percent_change_from_baseline
workplace <- DataCovid19_DKI_Jakarta$workplaces_percent_change_from_baseline
residental <- DataCovid19_DKI_Jakarta$residential_percent_change_from_baseline
positif<-DataCovid19_DKI_Jakarta$POSITIF
dirawat<-DataCovid19_DKI_Jakarta$Dirawat
sembuh<-DataCovid19_DKI_Jakarta$Sembuh
meninggal<-DataCovid19_DKI_Jakarta$Meninggal
selfIsolation<-DataCovid19_DKI_Jakarta$`Self Isolation`
df <- data.frame(x, retail, grocery, park, station, workplace,residental,positif,dirawat,sembuh,meninggal,selfIsolation )
# melt the data to a long format
df2 <- melt(data = df, id.vars = "x")
# plot, using the aesthetics argument 'colour'
ggplot(data = df2, aes(x = x, y = value, colour = variable))+
geom_point() +
geom_line() +
theme(legend.justification = "top") +
labs(title = "Google Mobility Index",
subtitle = "Propinsi DKI Jakarta Indonesia 2022",
y = "Mobility", x = "Date") +
theme(axis.text.x = element_text(angle = -90))Melakukan Uji Korelasi Antar Variabel
Uji Korelasi dengan R
Salah satu uji statistik yang digunakan untuk melihat atau mengukur kekuatan hubungan antara kedua variabel disebut korelasi. Terdapat berbagai macam jenis uji korelasi. Salah satu uji korelasi yang sering digunakan ialah korelasi Pearson Product Mement yang mensyaratkan data paling tidak berupa ukuran skala interval dan berasal dari sampel yang memilki sebaran normal (Ghozali, 2006). Korelasi Pearson
Untuk menyatakan ada atau tidaknya hubungan antara variabel X dengan variabel Y. Terdapat asumsi yang harus dipenuhi yakni data berdistribusi normal, dan data berskala interval atau rasio.
y dengan x1
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline
## t = 1.585, df = 29, p-value = 0.1238
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.07999556 0.57878245
## sample estimates:
## cor
## 0.2823479
y dengan x2
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$grocery_and_pharmacy_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$grocery_and_pharmacy_percent_change_from_baseline
## t = 0.69479, df = 29, p-value = 0.4927
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2371327 0.4613799
## sample estimates:
## cor
## 0.1279593
y dengan x3
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$parks_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$parks_percent_change_from_baseline
## t = -0.15994, df = 29, p-value = 0.874
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3800293 0.3281047
## sample estimates:
## cor
## -0.02968685
y dengan x4
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$transit_stations_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$transit_stations_percent_change_from_baseline
## t = -2.1174, df = 29, p-value = 0.04293
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.63758756 -0.01330074
## sample estimates:
## cor
## -0.3659163
y dengan x5
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$workplaces_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$workplaces_percent_change_from_baseline
## t = 1.996, df = 29, p-value = 0.0554
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.007752918 0.624923912
## sample estimates:
## cor
## 0.347542
y dengan x6
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$residential_percent_change_from_baseline)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$residential_percent_change_from_baseline
## t = 3.2204, df = 29, p-value = 0.00315
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1942268 0.7340820
## sample estimates:
## cor
## 0.5132443
y dengan x7
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$Dirawat)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$Dirawat
## t = 99.927, df = 29, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9969631 0.9993090
## sample estimates:
## cor
## 0.998551
y dengan x8
cor.test(DataCovid19_DKI_Jakarta$POSITIF,DataCovid19_DKI_Jakarta$Meninggal)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta$POSITIF and DataCovid19_DKI_Jakarta$Meninggal
## t = 17.618, df = 29, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.9105318 0.9789380
## sample estimates:
## cor
## 0.9563251
Melakukan Permodelan
Berikut cara melakukan permodelan regresi linier berganda.
library(MASS)## Warning: package 'MASS' was built under R version 4.1.3
##
## Attaching package: 'MASS'
## The following object is masked from 'package:dplyr':
##
## select
model <- lm(DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline ~ DataCovid19_DKI_Jakarta$POSITIF)Menggunakan Fungsi Summary()
Selain melihat dan memahami stuktur data, eksplorasi data dapat juga dilakukan dengan melihat summary (ringkasan) dari file data yang ada.
summary(model)##
## Call:
## lm(formula = DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline ~
## DataCovid19_DKI_Jakarta$POSITIF)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.1721 -1.5504 -0.4148 1.0999 7.2533
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -5.078e+01 3.675e+01 -1.382 0.178
## DataCovid19_DKI_Jakarta$POSITIF 6.646e-05 4.193e-05 1.585 0.124
##
## Residual standard error: 3.011 on 29 degrees of freedom
## Multiple R-squared: 0.07972, Adjusted R-squared: 0.04799
## F-statistic: 2.512 on 1 and 29 DF, p-value: 0.1238
Menggunakan Fungsi anova()
ANOVA (analysis of variance) adalah pengujian yang dilakukan dengan membandingkan varians. Dengan membandingkan varians tersebut, dapat diketahui ada tidaknya perbedaan rata-rata dari tiga atau lebih kelompok. Asumsi normalitas pada ANOVA adalah pada residual yaitu selisih antara Y Prediksi dengan Y Aktual. Tepatnya residual dapat dihitung sebagai berikut: Y Aktual – Y Prediksi. Dimana Y Aktual adalah Y sesungguhnya atau kenyataan. Sedangkan Y prediksi adalah Y hasil persamaan ANOVA.
anova(model)## Analysis of Variance Table
##
## Response: DataCovid19_DKI_Jakarta$retail_and_recreation_percent_change_from_baseline
## Df Sum Sq Mean Sq F value Pr(>F)
## DataCovid19_DKI_Jakarta$POSITIF 1 22.774 22.7743 2.5122 0.1238
## Residuals 29 262.903 9.0656
Membuat plot() Model dari Data Real dan Data Prediksi
plot(DataCovid19_DKI_Jakarta$POSITIF ~ DataCovid19_DKI_Jakarta$date,
data = DataCovid19_DKI_Jakarta, col = "green", pch = 20, cex = 2,
main = "Data Covid Self Isolation di DKI Jakarta dan Google Mobility Index")
abline(model) #Add a regression lineplot(model)Memunculkan Nilai Prediksi
head(predict(model), n = 11)## 1 2 3 4 5 6 7 8
## 6.728400 6.735245 6.746675 6.754318 6.771530 6.789275 6.809212 6.827687
## 9 10 11
## 6.853805 6.877729 6.913417
plot(head(predict(model), n = 11),type="o",ylab = "Nilai Prediksi")Memunculkan Nilai Residual
head(resid(model), n = 11)## 1 2 3 4 5 6 7
## -3.7283996 4.2647553 7.2533246 4.2456820 5.2284695 3.2107254 -0.8092118
## 8 9 10 11
## 1.1723130 0.1461952 0.1222706 -5.9134171
plot(head(resid(model), n = 11),type="o",ylab = "Nilai residual")Menambahkan data Residual dan Prediksi
DataCovid19_DKI_Jakarta$residuals<-model$residuals
DataCovid19_DKI_Jakarta$predicted<- model$fitted.values
DataCovid19_DKI_Jakarta## # A tibble: 31 x 17
## country_region_code country_region `Nama Kota` date retail_and_recreat~
## <chr> <chr> <chr> <date> <dbl>
## 1 ID Indonesia DKI JAKARTA 2022-01-01 3
## 2 ID Indonesia DKI JAKARTA 2022-01-02 11
## 3 ID Indonesia DKI JAKARTA 2022-01-03 14
## 4 ID Indonesia DKI JAKARTA 2022-01-04 11
## 5 ID Indonesia DKI JAKARTA 2022-01-05 12
## 6 ID Indonesia DKI JAKARTA 2022-01-06 10
## 7 ID Indonesia DKI JAKARTA 2022-01-07 6
## 8 ID Indonesia DKI JAKARTA 2022-01-08 8
## 9 ID Indonesia DKI JAKARTA 2022-01-09 7
## 10 ID Indonesia DKI JAKARTA 2022-01-10 7
## # ... with 21 more rows, and 12 more variables:
## # grocery_and_pharmacy_percent_change_from_baseline <dbl>,
## # parks_percent_change_from_baseline <dbl>,
## # transit_stations_percent_change_from_baseline <dbl>,
## # workplaces_percent_change_from_baseline <dbl>,
## # residential_percent_change_from_baseline <dbl>, POSITIF <dbl>,
## # Dirawat <dbl>, Sembuh <dbl>, Meninggal <dbl>, `Self Isolation` <dbl>, ...
lmPos=lm(DataCovid19_DKI_Jakarta$workplaces_percent_change_from_baseline~DataCovid19_DKI_Jakarta$POSITIF,data = DataCovid19_DKI_Jakarta)
plot(DataCovid19_DKI_Jakarta,pch=16,col="blue")
abline(lmPos)summary(lmPos)##
## Call:
## lm(formula = DataCovid19_DKI_Jakarta$workplaces_percent_change_from_baseline ~
## DataCovid19_DKI_Jakarta$POSITIF, data = DataCovid19_DKI_Jakarta)
##
## Residuals:
## Min 1Q Median 3Q Max
## -44.456 -0.226 1.224 3.822 8.343
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2.325e+02 1.157e+02 -2.010 0.0538 .
## DataCovid19_DKI_Jakarta$POSITIF 2.634e-04 1.320e-04 1.996 0.0554 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.478 on 29 degrees of freedom
## Multiple R-squared: 0.1208, Adjusted R-squared: 0.09047
## F-statistic: 3.984 on 1 and 29 DF, p-value: 0.0554