library(tidyverse) #Include beberapa packages termasuk ggplot
## Warning: package 'ggplot2' was built under R version 4.3.3
## Warning: package 'dplyr' was built under R version 4.3.3
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.1     ✔ 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(reshape2)
## Warning: package 'reshape2' was built under R version 4.3.3
## 
## Attaching package: 'reshape2'
## 
## The following object is masked from 'package:tidyr':
## 
##     smiths
library(pacman)
## Warning: package 'pacman' was built under R version 4.3.3
library(RColorBrewer)
library(knitr)
library(ggcorrplot)
## Warning: package 'ggcorrplot' was built under R version 4.3.3
library(corrplot)
## Warning: package 'corrplot' was built under R version 4.3.3
## corrplot 0.92 loaded
library(rlang)
## 
## Attaching package: 'rlang'
## 
## The following objects are masked from 'package:purrr':
## 
##     %@%, flatten, flatten_chr, flatten_dbl, flatten_int, flatten_lgl,
##     flatten_raw, invoke, splice
library(viridis)
## Warning: package 'viridis' was built under R version 4.3.3
## Loading required package: viridisLite
library(ggplot2)
library(ggridges)
library(treemap)
## Warning: package 'treemap' was built under R version 4.3.3
library(treemapify)
## Warning: package 'treemapify' was built under R version 4.3.3
library(GGally) 
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
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
library(readxl)
## Warning: package 'readxl' was built under R version 4.3.3

Visualisasi Data Antar Peubah Numerik

Dataku <- read.csv("C:/Users/asus/Documents/Semester 4/Visualisasi Data/spotify.csv")
datanum <- data.frame(cbind(Dataku$tempo, Dataku$track_popularity, Dataku$duration_ms, Dataku$energy, Dataku$key))

VISUALISASI 1

library(corrplot)
data_corrl <- round(cor(datanum), 1)
corrplot(data_corrl, method='circle')

Interpretasi

Grafik tersebut adalah diagram korelasi matriks yang menunjukkan hubungan antara lima variabel: tempo (X1), popularitas lagu (X2), durasi (X3), tingkat energi (X4), dan banyak kunci nada (X5). Dalam diagram ini, ukuran dan warna lingkaran menunjukkan kekuatan dan arah korelasi antara pasangan variabel. Warna biru menunjukkan korelasi positif, sementara warna merah menunjukkan korelasi negatif. Semakin besar lingkarannya, semakin kuat korelasinya.

  1. X1 dengan X4 (Tingkat energi): Korelasi positif yang kuat, menunjukkan bahwa lagu dengan tempo yang lebih cepat cenderung memiliki tingkat energi yang lebih tinggi.
  2. X2 (Popularitas lagu) dengan variabel lainnya:
    • X2 dengan X3 (Durasi): Korelasi tidak terlalu signifikan.
    • X2 dengan X4 (Tingkat energi): Korelasi tidak terlalu signifikan.
  3. X3 (Durasi) dengan variabel lainnya:
    • X3 dengan X4 (Tingkat energi): Korelasi negatif yang lemah, menunjukkan bahwa lagu yang lebih panjang cenderung memiliki sedikit energi.
    • X3 dengan X5 (Banyak kunci nada): Korelasi tidak terlalu signifikan.

Secara keseluruhan, kita bisa melihat bahwa:

- Tempo (X1) memiliki korelasi positif yang signifikan dengantingkat energi (X4).

- Tingkat energi (X4) memiliki korelasi negatif yang kuat dengan banyaknya kunci nada (X5).

- Korelasi antara durasi (X3) dengan variabel lainnya umumnya lemah atau tidak signifikan.

VISUALISASI 2

library(readxl)
Data <- read_xlsx("C:/Users/asus/Downloads/Rata-rata Upah_Gaji Bersih Sebulan Buruh_Karyawan_Pegawai Menurut Kelompok Umur dan Jenis Pekerjaan, 2022-2023.xlsx", sheet="Data")
## New names:
## • `` -> `...10`
## • `` -> `...11`
## • `` -> `...12`
Data
## # A tibble: 10 × 12
##    `Age Group` profesional kepemimpinan `tata usaha` `usaha penjualan`
##    <chr>             <dbl>        <dbl>        <dbl>             <dbl>
##  1 15-19           1145088      1931007      2238426           1496871
##  2 20-24           1990927      3516160      2580550           2099967
##  3 25-29           2397134      3227336      3027202           2577012
##  4 30-34           2793721      4319971      3515446           2999984
##  5 35-39           3479493      5060704      4393071           2909232
##  6 40-44           4068922      5975939      4336431           3529558
##  7 45-49           4180131      7147744      4151383           3621745
##  8 50-54           5725277      5845589      4617622           4731604
##  9 55-59           5236963      6784050      4440465           3860478
## 10 60+             5967036      5660028      3273353           2120043
## # ℹ 7 more variables: `usaha jasa` <dbl>, pertanian <dbl>, produksi <dbl>,
## #   lainnya <dbl>, ...10 <lgl>, ...11 <lgl>, ...12 <chr>
data2 <- data.frame(cbind(Data$`Age Group`, Data$profesional))
data2
##       X1      X2
## 1  15-19 1145088
## 2  20-24 1990927
## 3  25-29 2397134
## 4  30-34 2793721
## 5  35-39 3479493
## 6  40-44 4068922
## 7  45-49 4180131
## 8  50-54 5725277
## 9  55-59 5236963
## 10   60+ 5967036
ggplot(Data, aes(x = Data$`Age Group`  , y = Data$profesional)) +
  geom_point(shape = 21, size = 3, color = "white", fill = "#8A2BE2") +
  labs(title = "Scatter Plot Rentang Usia dan Gaji Pekerja Profesional", x = "Rentang Usia", y = "Gaji")
## Warning: Use of `` Data$`Age Group` `` is discouraged.
## ℹ Use `Age Group` instead.
## Warning: Use of `Data$profesional` is discouraged.
## ℹ Use `profesional` instead.

Interpretasi

Scatter plot ini menunjukkan hubungan antara rentang usia dan gaji pekerja profesional. Dari plot ini, terlihat bahwa seiring dengan bertambahnya usia, gaji cenderung meningkat. Ini menunjukkan adanya korelasi positif antara usia dan gaji.

Visualisasi Data Time Series

Sumber : Data Time Series

datats <- read_xlsx("C:/Users/asus/Documents/Semester 4/Visualisasi Data/Data Nilai Investasi Jawa Barat.xlsx", sheet = "Investasi")
datats
## # A tibble: 27 × 7
##    Daerah      `2016`   `2017`   `2018`  `2019`  `2020`  `2021`
##    <chr>        <dbl>    <dbl>    <dbl>   <dbl>   <dbl>   <dbl>
##  1 BOGOR       5.12   4.26     4.96     4.77    2.86    4.64   
##  2 SUKABUMI    0.968  0.419    0.614    0.367   0.212   0.0486 
##  3 CIANJUR     0.725  0.435    0.041    0.283   0.0852  0.022  
##  4 BANDUNG     0.436  0.596    0.377    3.18    2.85    1.16   
##  5 GARUT       0.183  0.137    0.170    0.151   0.404   0.833  
##  6 TASIKMALAYA 0.005  0.0486   0.0739   0       0       0      
##  7 CIAMIS      0      0.000815 0.000180 0       0.00006 0.00109
##  8 KUNINGAN    0.0594 0.0988   0.0686   0.00026 0.0441  0.0002 
##  9 CIREBON     1.27   4.58     3.84     8.94    4.68    4.77   
## 10 MAJALENGKA  0.131  0.95     1.22     0.405   0.198   0.549  
## # ℹ 17 more rows
data_kota_bogor <- data.frame(
  tahun = c(2016, 2017, 2018, 2019, 2020, 2021),
  investasi = c(5.122, 4.258, 4.955, 4.766, 2.86, 4.643)
)


ggplot(data_kota_bogor, aes(x = tahun, y = investasi)) +
  geom_line() +
  labs(title = "Time Series Nilai Investasi Kota Bogor",
       x = "Tahun",
       y = "Nilai Investasi")

Interpretasi

Berdasarkan grafik time series tersebut, dapat dilihat bahwa nilai investasi di Jawa Barat mengalami penurunan yang sangat signifikan di tahun 2020.

install.packages("ggplot2")
## Warning: package 'ggplot2' is in use and will not be installed
library(maps)
## Warning: package 'maps' was built under R version 4.3.3
## 
## Attaching package: 'maps'
## The following object is masked from 'package:viridis':
## 
##     unemp
## The following object is masked from 'package:purrr':
## 
##     map
library(ggplot2)

VISUALISASI DATA GEOSPASIAL

library(readxl)
datageo <- read_xlsx("C:/Users/asus/Documents/Semester 4/Visualisasi Data/World Press Index 2021.xlsx")
View(datageo)

Visualisasi Geospasial

library(ggplot2)
library(maps)
world <- map_data("world")
colnames(world) <- (c('Longitude','Latitude', 'group', 'order', 'region', 'subregion'))
View(world)
library(treemap)
library(treemapify)
library(viridis)
library(dplyr)

datagabung <- left_join(world, datageo[, c("region", "GlobalScore2021")], by = "region")

worldlimit <- datagabung %>%
  filter(Latitude > -60)

world_plot <- ggplot(worldlimit, aes(x = Longitude, y = Latitude, group = group)) +
  geom_polygon(aes(fill = GlobalScore2021), color = "white") +
  coord_fixed(1.3) +
  scale_fill_viridis(option = "E", na.value = "grey")

world_plot

Interpretasi

Peta Geospasial di atas menunjukkan index kebebasan pers berdasarkan negara-negara di dunia pada tahun 2021, Indeks berkisar dari 0 hingga 100, dengan 100 mewakili skor terbaik (menunjukkan tingkat kebebasan pers tertinggi) dan 0 menjadi yang terburuk. Dengan kata lain, skor yang lebih tinggi menunjukkan kebebasan pers yang lebih besar, sementara skor yang lebih rendah mencerminkan lebih banyak batasan bagi pada media dan jurnalis. Pada visualisai tersebut, warna kuning menunjukkan semakin tinggi indeks, sedangkan biru menunjukkan index yang rendah. Dapat dilihat negara dengan indeks tertinggi ada di negara Eritrea, Korea Utara, dan Turkmenistan yang menunjukkan tingkat kebebasan pers negara tersebut paling tinggi. Sementara itu, indeks terendah jatuh pada negara Norway.