library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'ggplot2' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## Warning: package 'lubridate' was built under R version 4.3.2
## ── 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.5.0     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.0
## ✔ purrr     1.0.2     
## ── 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(dplyr)
library(reshape2)
## 
## Attaching package: 'reshape2'
## 
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(ggforce)
## Warning: package 'ggforce' was built under R version 4.3.3
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.2
library(quantmod)
## Warning: package 'quantmod' was built under R version 4.3.2
## Loading required package: xts
## Warning: package 'xts' was built under R version 4.3.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.2
## 
## Attaching package: 'zoo'
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## 
## 
## ######################### Warning from 'xts' package ##########################
## #                                                                             #
## # The dplyr lag() function breaks how base R's lag() function is supposed to  #
## # work, which breaks lag(my_xts). Calls to lag(my_xts) that you type or       #
## # source() into this session won't work correctly.                            #
## #                                                                             #
## # Use stats::lag() to make sure you're not using dplyr::lag(), or you can add #
## # conflictRules('dplyr', exclude = 'lag') to your .Rprofile to stop           #
## # dplyr from breaking base R's lag() function.                                #
## #                                                                             #
## # Code in packages is not affected. It's protected by R's namespace mechanism #
## # Set `options(xts.warn_dplyr_breaks_lag = FALSE)` to suppress this warning.  #
## #                                                                             #
## ###############################################################################
## 
## Attaching package: 'xts'
## 
## The following objects are masked from 'package:dplyr':
## 
##     first, last
## 
## Loading required package: TTR
## Warning: package 'TTR' was built under R version 4.3.2
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)
library(maps)
## Warning: package 'maps' was built under R version 4.3.3
## 
## Attaching package: 'maps'
## 
## The following object is masked from 'package:purrr':
## 
##     map

Scatter Plot (Peubah Numerik)

pengangguran <- read_xlsx("C:/Users/Lenovo/Downloads/pengangguran.xlsx")
head(pengangguran)
## # A tibble: 6 × 5
##   PROVINSI           TPT Tingkat Pengangguran Ter…¹ Tingkat Partisipasi …²  TPAK
##   <chr>            <dbl>                      <dbl>                  <dbl> <dbl>
## 1 Aceh              5.48                       6.17                   66.3  63.1
## 2 Sumatera Utara    5.57                       5.39                   74.7  70.4
## 3 Sumatera Barat    5.38                       5.38                   70.6  67.9
## 4 Riau              5.36                       5.76                   68.3  64.9
## 5 Jambi             3.52                       4.06                   67.4  65.8
## 6 Sumatera Selatan  4.02                       4.53                   71.2  67.7
## # ℹ abbreviated names: ¹​`Tingkat Pengangguran Terbuka (TPT) - Agustus`,
## #   ²​`Tingkat Partisipasi Angkatan Kerja (TPAK) - Februari`
TPT_agustus <- pengangguran$TPT
TPAK_agustus <- pengangguran$TPAK

plot(TPT_agustus,TPAK_agustus,col = "blue",main = "Hubungan antara Tingkat Pengangguran terbuka dan Tingkat Partisipasi Angkatan Kerja",xlab = "Tingkat Pengangguran Terbuka",ylab = "Tingkat Partisipasi Angkatan Kerja")

correlation <- cor(TPT_agustus, TPAK_agustus)

Dapat terlihat, bahwa korelasi yang diberikan antara Tingkat Pengangguran terbuka dan tingkat partisipasi angkatan kerja adalah negatif (-0.7023) yang artinya hubungan terbalik antara dua variabel. Ketika satu variabel naik, variabel lainnya cenderung turun, dan sebaliknya. Intensitas hubungan terbalik ini cukup kuat, karena nilai korelasi mendekati -1. Dengan kata lain, perubahan yang signifikan dalam satu variabel biasanya akan disertai dengan perubahan yang berlawanan dalam variabel lainnya.

Scatter Plot Banyak Peubah

jabar <- read_xlsx("C:/Users/Lenovo/Downloads/dataajabar.xlsx")
melekhuruf15 <- jabar$melekhuruf2015
melekhuruf16 <- jabar$melekhuruf2016
jpm15 <- jabar$jpm15
jpm16 <- jabar$jpm16
rataan15 <- jabar$rataansekolah2015
rataan16 <- jabar$rataansekolah2016
pairs(jabar[,c("melekhuruf2015","melekhuruf2016","jpm15","jpm16","rataansekolah2015","rataansekolah2016")], col = "darkgreen")

Scatter plot diatas menunjukan bahwa terdapat beberapa peubah yang memiliki hubungan positif dan negatif. terdapat juga peubah yang memiliki korelasi yang sangat minim serta sangat kuat.

Time Series

finance <- read.csv("C:/Users/Lenovo/Downloads/datafinance.csv", header = TRUE, sep = ",")
head(finance)
##        Date Open High  Low Close Adjclose Volume
## 1  6/1/2019 6300 7075 6300  7000 6575.610   3300
## 2  7/1/2019 7000 7000 7000  7000 6780.089      0
## 3  8/1/2019 7000 7000 6750  7000 6780.089    200
## 4  9/1/2019 7000 7000 6975  6975 6755.875    100
## 5 10/1/2019 6975 6975 6975  6975 6755.875    400
## 6 11/1/2019 6975 6975 6975  6975 6755.875    100
finance_ts <- ts(finance$High, start = c(2019,1), end = c(2024,12), frequency = 12)
plot(finance_ts, main = "Time Series Saham PT Asuransi Bina Dana Arta Tbk", col = "navy", xlab = "Tahun", ylab = "Saham Tertinggi")

Data ini menunjukan harga saham tertinggi PT Asuransi Bina Dana Arta Tbk selama 2019 hingga 2024 kini dan menunjukan bahwa harga saham tersebut cukup naik turun. Titik tertinggi berada di pertengahan 2021 dan 2022 serta titik terendah berada di akhir 2023.

Geospasial

library(sf)
## Warning: package 'sf' was built under R version 4.3.3
## Linking to GEOS 3.11.2, GDAL 3.8.2, PROJ 9.3.1; sf_use_s2() is TRUE
prov <- read_sf("C:/Users/Lenovo/Downloads/BATAS PROVINSI DESEMBER 2019 DUKCAPIL/batasprovinsi2019.shp")
pengangguran <- read_xlsx("C:/Users/Lenovo/Downloads/pengangguran.xlsx")
pengangguran
## # A tibble: 35 × 5
##    PROVINSI              TPT Tingkat Pengangguran…¹ Tingkat Partisipasi …²  TPAK
##    <chr>               <dbl>                  <dbl>                  <dbl> <dbl>
##  1 Aceh                 5.48                   6.17                   66.3  63.1
##  2 Sumatera Utara       5.57                   5.39                   74.7  70.4
##  3 Sumatera Barat       5.38                   5.38                   70.6  67.9
##  4 Riau                 5.36                   5.76                   68.3  64.9
##  5 Jambi                3.52                   4.06                   67.4  65.8
##  6 Sumatera Selatan     4.02                   4.53                   71.2  67.7
##  7 Bengkulu             2.41                   3.26                   72.4  70.1
##  8 Lampung              3.95                   4.03                   72.1  69.1
##  9 Kepulauan Bangka B…  3.32                   3.58                   67.5  67.1
## 10 Kepulauan Riau       7.02                   7.5                    67.9  64.7
## # ℹ 25 more rows
## # ℹ abbreviated names: ¹​`Tingkat Pengangguran Terbuka (TPT) - Agustus`,
## #   ²​`Tingkat Partisipasi Angkatan Kerja (TPAK) - Februari`
pengangguran$PROVINSI <- toupper(pengangguran$PROVINSI)
Persen.Geo <- merge(x=prov, y=pengangguran, by="PROVINSI",all.x = TRUE, all.y=TRUE)
ggplot(Persen.Geo) +
  geom_sf(aes(fill= TPT)
          , color = "pink") +
  scale_fill_gradient(low="pink", high="maroon") +
  theme_void()

Di atas menunjukan sebaran tingkat pengangguran terbuka di setiap daerah di Indonesia pada tahun 2019. Dapat terlihat bahwa daerah Kalimantan dan Jawa Barat memiliki tingkat pengangguran yang cukup tinggi karena digambarkan dengan warna yang paling gelap.