UTS Membangun Regresi Linear Pada Data COVID-19 DKI Jakarta Januari 2022 dan Dihubungkan dengan Data Google Mobility Index
3/29/2022
- Deskripsi Regresi Linear dan Data Yang Digunakan
- Membangun Regresi Linear
- Menginputkan data
- Reshape Data
- Mengetahui summary() dari Data
- Menjelaskan rincian Model dengan fungsi summary()
- Menggunakan Fungsi anova()
- Membuat plot() Model dari Data Real dan Data Prediksi
- Penggunaan AIC dan BIC
- Memunculkan Nilai Predicted dan Memvisualisasikannya
- Memunculkan Nilai Residuals
- Membuat Tabel Untuk Menambah Data Residuals dan Data Predicted
- Membuat Korelasi Antar Variabel
- Melakukan Uji Korelasi Antar Variabel
- Referensi
Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Mata Kuliah : Linier Algebra
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Deskripsi Regresi Linear dan Data Yang Digunakan
Regresi Linear
Regresi adalah metode untuk menentukan hubungan suatu variabel dengan yang lainnya untuk melihat seberapa besar pengaruhnya. Pada statistik, regresi linear merupakan suatu pendekatan untuk memantapkan hubungan antara satu atau lebih variabel dependen (regresi linear sederha) dan juga variabelel independen (regresi linear banyak). Dengan kata lain, Regresi merupakan rumus yang bisa digunakan untuk menganalisis data dari yang sederhana, sampai yang jumlahnya begitu banyak atau kompleks. Nah, pastinya disini juga akan menerapkan rumus-rumus dari Regresi Linear. Rumus regresi linear itu sendiri antara lain :
Rumus Model Regresi Linier (regresi sederhana)
Rumus Regresi Berganda
Dalam membangun regresi linear perlu adanya data yang diinputkan maka dari itu saya mengambil data Google Mobility Index dikombinasi dengan data covid-19 di DKI Jakarta pada bulan Januari 2022. Akan tetapi, data ini tidak saya susun sendiri melainkan 2 data ini saya ambil bersama rekan saya di Mata Kuliah Linear Algebra Kelompok 2.
Data COVID-19
Dalam data covid-19 ini mencakup siapa saja atau masyarakat DKI Jakarta yang terdampak atau positif covid, selain itu juga diliputi dengan jumlah data pasien dirawat, sembuh, isolasi mandiri (self isolation). Data covid-19 di DKI Jakarta yang saya pilih adalah pada Bulan Januari 2022.
Data Google Mobility Index
Pemerintah menggunakan sejumlah data dari raksasa teknologi untuk melakukan pemantauan mobilitas masyarakat saat gelombang kasus Covid-19 meningkat di Indonesia. Salah satu yang digunakan adalah laporan dari Google. Isi laporan tersebut akan menampilkan grafik tren mobilitas seiring waktu. Yakni berisi per wilayah untuk kategori tempat relevan sebagai cara merespon pandemi yakni untuk sejumlah tempat dari retail dan rekreasi, toko bahan makanan dan apotek, taman, pusat transportasi umum, tempat kerja dan area pemukiman.
Membangun Regresi Linear
Berikut beberapa tahapan untuk bisa membangun regresi linear :
Menginputkan data
Pertama-tama sebelum menginput/ memasukkan data kita harus mengunduh data covid-19 di DKI Jakarta pada bulan Januari 2022 dan Data Mobility Index di Internet. Setelah itu menggabungkan dan memilahnya di Ms.Excel. Hal ini agar memudahkankan kita saat membangun regresi linear di Rstudio. Selanjutnya import dataset tersebut dari Ms.Excel maka secara otomatis akan muncul syntax untuk memanggil data tersebut di Rstudio.
library(readr)## Warning: package 'readr' was built under R version 4.1.2
DataCovid19_DKI_Jakarta_csv <- read_csv("D:/DOWNLOAD/DataCovid19 DKI Jakarta.csv.xls")## 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_csv## # 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>
Reshape Data
Apa itu reshape di R?
Reshaping Data di R adalah sesuatu seperti baris dan kolom yang diatur dengan cara Anda sendiri untuk menggunakannya sesuai kebutuhan Anda, sebagian besar data diambil sebagai format bingkai data di R untuk melakukan pemrosesan data menggunakan fungsi seperti ‘rbind()’, ‘cbind( )’, dll. Dalam proses ini, Anda membentuk ulang atau mengatur ulang data ke dalam baris dan kolom.
Apa yang dilakukan fungsi reshape di R?
Paket Bentuk Ulang (Package reshape) Pada dasarnya, Anda “mencairkan” data sehingga setiap baris adalah kombinasi variabel id yang unik. Kemudian Anda “melemparkan” data yang dilebur ke dalam bentuk apa pun yang Anda inginkan. Berikut adalah contoh yang sangat sederhana. Ada banyak lagi yang dapat Anda lakukan dengan fungsi melt() dan cast().
Berikut salah satu contoh penerapan reshape untuk data yang kita miliki
DataCovid19_DKI_Jakarta_csv## # 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>
library(ggplot2)## Warning: package 'ggplot2' was built under R version 4.1.2
library(reshape2)## Warning: package 'reshape2' was built under R version 4.1.3
x<-DataCovid19_DKI_Jakarta_csv$date
retail <- DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline
grocery <- DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline
park <- DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline
station <- DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline
workplace <- DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline
residental <- DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline
positif <- DataCovid19_DKI_Jakarta_csv$POSITIF
dirawat <- DataCovid19_DKI_Jakarta_csv$Dirawat
sembuh <- DataCovid19_DKI_Jakarta_csv$Sembuh
meninggal <- DataCovid19_DKI_Jakarta_csv$Meninggal
selfIsolation <- DataCovid19_DKI_Jakarta_csv$`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))dim(DataCovid19_DKI_Jakarta_csv)## [1] 31 15
library(ggplot2)
library(reshape2)
x<-DataCovid19_DKI_Jakarta_csv$date
retail <- DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline
grocery <- DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline
park <- DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline
station <- DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline
workplace <- DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline
residental <- DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline
meninggal<-DataCovid19_DKI_Jakarta_csv$Meninggal
selfIsolation<-DataCovid19_DKI_Jakarta_csv$`Self Isolation`
df <- data.frame(x, retail, grocery, park, station, workplace,residental,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))# menghitung kernel density
dens <- density(DataCovid19_DKI_Jakarta_csv$Sembuh)
# histogram
hist(DataCovid19_DKI_Jakarta_csv$Sembuh, freq=FALSE, col="steelblue")
# tambahkan density plot
polygon(dens, border="red")boxplot(DataCovid19_DKI_Jakarta_csv$date~DataCovid19_DKI_Jakarta_csv$Meninggal,
# ubah warna outline menjadi steelblue
border = "steelblue",
# ubah warna box berdasarkan grup
col= c("#999999", "#E69F00", "#56B4E9"))Mengetahui summary() dari Data
Langkah yang kedua adalah dengan mengetahui
summary()dari data. statistik ringkasan dihitung menggunakan fungsi ringkasan () di R. ringkasan () fungsi secara otomatis diterapkan ke setiap kolom. Format hasil tergantung pada tipe data kolom.
Jika kolom adalah variabel numerik, mean, median, min, max, dan kuartil dikembalikan.
Jika kolom tersebut merupakan variabel faktor, maka jumlah observasi pada setiap kelompok dikembalikan.
Statistik deskriptif dalam R dengan fungsi ringkasan sederhana menghitung
nilai minimum setiap kolom
nilai maksimum setiap kolom
nilai rata-rata setiap kolom
nilai median setiap kolom
Kuartil ke-1 setiap kolom (persentil ke-25)
Kuartil ke-3 setiap kolom (persentil ke-75)
summary(DataCovid19_DKI_Jakarta_csv)## 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
Menjelaskan rincian Model dengan fungsi summary()
Di atas merupakan rincian dari model yang telah dibuat.
Di posisi paling atas terdapat lm formula adalah datacovidmobilitySelfIsolation datacovidmobilityTanggal, data = datacovidmobility.
Lalu di bawahnya terdapat 5 nilai residual, sebelumnya kita perlu tahu bahwa Residual adalah perbedaan antara nilai nyata dan nilai prediksi. Yang mana semakin kecil nilai residual maka semakin baik atau benar model yang kita buat. Berikut nilai-nilai residual yang dihasilkan:
Nilai minimum = -6.1103
Nilai maximum = 7.2772
Nilai median = -0.3509
Nilai quartil 1 = -1.5923
Nilai quartil 3 = 1.0961
Dari nilai-nilai tersebut dapat kita lihat bahwa dalam konteks ini berupa nilai minimum, maximum, median, quartil 1 dan quartil 3. Dapat kita simpulkan bahwa model yang telah kita buat belum bisa dikatakan baik atau benar karena nilai-nilai yang dihasilkan tidak mendekati nol.
Di bawah nilai residual terdapat koefisien, yang mana dalam koefisien tersebut terdapat nilai intersep, dan tanggal. Selain itu juga terdapat nilai-p dari koefisien
Selanjutnya terdapat dua R2 yaitu :
Multiple R-squared (pelipatan daripada variabel): 0.08735. Hal ini menunjukkan bahwa 0.08735 variasi variabel respon, y, dapat dijelaskan oleh variabel prediktor, x.
Multiple R-squared tidak dapat berkurang saat kita menambahkan lebih banyak variabel independen ke model yang kita buat.
Adjusted R-squared (tidak pelipatan pada variabel): 0.05588.
Adjusted R-squared lebih baik ada penambahan variabel. Jadi jika kita menambahkan lebih dari satu variabel ke model, itu hanya meningkat jika itu mengurangi kesalahan prediksi secara keseluruhan.
model <- lm(DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline ~DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
summary(model)##
## Call:
## lm(formula = DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline ~
## DataCovid19_DKI_Jakarta_csv$`Self Isolation`)
##
## Residuals:
## Min 1Q Median 3Q Max
## -6.1103 -1.5923 -0.3509 1.0961 7.2772
##
## Coefficients:
## Estimate Std. Error t value
## (Intercept) 6.645e+00 7.241e-01 9.177
## DataCovid19_DKI_Jakarta_csv$`Self Isolation` 1.403e-04 8.421e-05 1.666
## Pr(>|t|)
## (Intercept) 4.47e-10 ***
## DataCovid19_DKI_Jakarta_csv$`Self Isolation` 0.106
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 2.998 on 29 degrees of freedom
## Multiple R-squared: 0.08735, Adjusted R-squared: 0.05588
## F-statistic: 2.776 on 1 and 29 DF, p-value: 0.1065
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_csv$retail_and_recreation_percent_change_from_baseline
## Df Sum Sq Mean Sq F value Pr(>F)
## DataCovid19_DKI_Jakarta_csv$`Self Isolation` 1 24.954 24.9536 2.7756 0.1065
## Residuals 29 260.724 8.9905
Membuat plot() Model dari Data Real dan Data Prediksi
plot(model)Penggunaan AIC dan BIC
AIC dan BIC banyak digunakan dalam kriteria pemilihan model. AIC berarti Kriteria Informasi Akaike dan BIC berarti Kriteria Informasi Bayesian. Meskipun kedua istilah ini membahas pemilihan model, keduanya tidak sama. Seseorang dapat menemukan perbedaan antara dua pendekatan pemilihan model.
AIC(model)## [1] 159.9879
BIC(model)## [1] 164.2899
Memunculkan Nilai Predicted dan Memvisualisasikannya
head(predict(model), n = 11)## 1 2 3 4 5 6 7 8
## 6.693091 6.705157 6.722834 6.733075 6.755522 6.779232 6.809676 6.832544
## 9 10 11
## 6.866074 6.898622 6.937063
plot(head(predict(model), n = 10))Memunculkan Nilai Residuals
head(resid(model), n = 11)## 1 2 3 4 5 6 7
## -3.6930912 4.2948435 7.2771664 4.2669249 5.2444778 3.2207681 -0.8096758
## 8 9 10 11
## 1.1674562 0.1339259 0.1013776 -5.9370631
coef(model)## (Intercept)
## 6.6451105422
## DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## 0.0001402943
Membuat Tabel Untuk Menambah Data Residuals dan Data Predicted
Tabel di bawah merupakan semua proses yang telah dilakukan, sehingga terbuat tabel yang ada nilai residuals dan nilai protected.
DataCovid19_DKI_Jakarta_csv$residuals<-model$residuals
DataCovid19_DKI_Jakarta_csv$predicted<- model$fitted.values
DataCovid19_DKI_Jakarta_csv## # 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>, ...
library(tidyverse)## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v purrr 0.3.4 v forcats 0.5.1
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'stringr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
df<-DataCovid19_DKI_Jakarta_csv
df## # 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>, ...
df%>%select(4,11,16,17)## # A tibble: 31 x 4
## date POSITIF residuals predicted
## <date> <dbl> <dbl> <dbl>
## 1 2022-01-01 865415 -3.69 6.69
## 2 2022-01-02 865518 4.29 6.71
## 3 2022-01-03 865690 7.28 6.72
## 4 2022-01-04 865805 4.27 6.73
## 5 2022-01-05 866064 5.24 6.76
## 6 2022-01-06 866331 3.22 6.78
## 7 2022-01-07 866631 -0.810 6.81
## 8 2022-01-08 866909 1.17 6.83
## 9 2022-01-09 867302 0.134 6.87
## 10 2022-01-10 867662 0.101 6.90
## # ... with 21 more rows
library(tidyverse)
my_data <- as_tibble(DataCovid19_DKI_Jakarta_csv)
my_data## # 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>, ...
my_data%>%select(date)## # A tibble: 31 x 1
## date
## <date>
## 1 2022-01-01
## 2 2022-01-02
## 3 2022-01-03
## 4 2022-01-04
## 5 2022-01-05
## 6 2022-01-06
## 7 2022-01-07
## 8 2022-01-08
## 9 2022-01-09
## 10 2022-01-10
## # ... with 21 more rows
Membuat Korelasi Antar Variabel
Korelasi merupakan keterhubungan antar variabel. Untuk mengukur seberapa jauh hubungan antara satu variabel dengan variabel yang lain kita dapat menggunakan fungsi cor().
a. Korelasi variabel y dengan x1
cor(DataCovid19_DKI_Jakarta_csv $`Self Isolation`,DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline)## [1] 0.2955484
b. Korelasi variabel y dengan x2
cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline)## [1] 0.1444971
c. Korelasi variabel y dengan x3
cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline)## [1] -0.01763091
d. Korelasi variabel y dengan x4
cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`, DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline)## [1] -0.3553029
e. Korelasi variabel y dengan x5
cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`,DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline)## [1] 0.3360928
f. Korelasi variabel y dengan x6
cor(DataCovid19_DKI_Jakarta_csv$`Self Isolation`,DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline)## [1] 0.4904604
Melakukan Uji Korelasi Antar Variabel
Adanya korelasi antar variabel dapat dilakukan melalui visualisasi menggunakan scatterplot dan perhitungan matematis menggunakan metode Pearson untuk metode parametrik dan metode rangking Spearman dan Kendall untuk metode non-parametrik. Pada R uji korelasi dapat dilakukan dengan menggunakan fungsi cor.test(). Format fungsi tersebut adalah sebagai berikut:
a. uji korelasi variabel y dengan x1
cor.test(DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$retail_and_recreation_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 1.666, df = 29, p-value = 0.1065
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.06566892 0.58828096
## sample estimates:
## cor
## 0.2955484
b. uji korelasi variabel y dengan x2
cor.test(DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$grocery_and_pharmacy_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 0.78639, df = 29, p-value = 0.438
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.2211670 0.4745402
## sample estimates:
## cor
## 0.1444971
c. uji korelasi variabel y dengan x3
cor.test(DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$parks_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = -0.09496, df = 29, p-value = 0.925
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.3696616 0.3388260
## sample estimates:
## cor
## -0.01763091
d. uji korelasi variabel y dengan x4
cor.test(DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$transit_stations_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = -2.0469, df = 29, p-value = 0.04982
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.630290652 -0.001101465
## sample estimates:
## cor
## -0.3553029
e. uji korelasi variabel y dengan x5
cor.test(DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$workplaces_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 1.9217, df = 29, p-value = 0.06452
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.02071425 0.61695857
## sample estimates:
## cor
## 0.3360928
f. uji korelasi variabel y dengan x6
cor.test(DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline, DataCovid19_DKI_Jakarta_csv$`Self Isolation`)##
## Pearson's product-moment correlation
##
## data: DataCovid19_DKI_Jakarta_csv$residential_percent_change_from_baseline and DataCovid19_DKI_Jakarta_csv$`Self Isolation`
## t = 3.0308, df = 29, p-value = 0.005092
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.1647526 0.7197205
## sample estimates:
## cor
## 0.4904604
Berdasarkan seluruh output yang dihasilkan, metode Pearson menghasilkan output berupa nilai t uji, derajat kebebasan, nilai p-value, rentang estimasi nilai korelasi berdasarkan tingkat kepercayaan, dan estimasi nilai korelasi.
Dari hasil seluruh output di atas dapat disimpulkan bahwa untuk tingkat keterhubungan antara variabel y dengan x1, x2, x3, x4, dan x5 tidak memiliki hubungan sama sekali karena nilai yang dihasilkan berjumlah kurang dari 0. Sedangkan untuk tingkat keterhubungan antara variabel y dan x6 tidak sangat terhubung karena nilai yang dihasilkan di bawah 0.4.