Visualisasi Data Pertemuan 10
## Warning: package 'ggplot2' was built under R version 4.3.2
## Warning: package 'tidyverse' was built under R version 4.3.2
## Warning: package 'tibble' was built under R version 4.3.2
## Warning: package 'tidyr' was built under R version 4.3.2
## Warning: package 'readr' was built under R version 4.3.2
## Warning: package 'purrr' was built under R version 4.3.2
## Warning: package 'dplyr' was built under R version 4.3.2
## Warning: package 'stringr' was built under R version 4.3.2
## Warning: package 'forcats' 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.1
## ✔ lubridate 1.9.3 ✔ tibble 3.2.1
## ✔ purrr 1.0.2 ✔ tidyr 1.3.0
## ── 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
## Person.ID Gender Age Occupation
## Min. : 1.00 Length:374 Min. :27.00 Length:374
## 1st Qu.: 94.25 Class :character 1st Qu.:35.25 Class :character
## Median :187.50 Mode :character Median :43.00 Mode :character
## Mean :187.50 Mean :42.18
## 3rd Qu.:280.75 3rd Qu.:50.00
## Max. :374.00 Max. :59.00
## Sleep.Duration Quality.of.Sleep Physical.Activity.Level Stress.Level
## Min. :5.800 Min. :4.000 Min. :30.00 Min. :3.000
## 1st Qu.:6.400 1st Qu.:6.000 1st Qu.:45.00 1st Qu.:4.000
## Median :7.200 Median :7.000 Median :60.00 Median :5.000
## Mean :7.132 Mean :7.313 Mean :59.17 Mean :5.385
## 3rd Qu.:7.800 3rd Qu.:8.000 3rd Qu.:75.00 3rd Qu.:7.000
## Max. :8.500 Max. :9.000 Max. :90.00 Max. :8.000
## BMI.Category Blood.Pressure Heart.Rate Daily.Steps
## Length:374 Length:374 Min. :65.00 Min. : 3000
## Class :character Class :character 1st Qu.:68.00 1st Qu.: 5600
## Mode :character Mode :character Median :70.00 Median : 7000
## Mean :70.17 Mean : 6817
## 3rd Qu.:72.00 3rd Qu.: 8000
## Max. :86.00 Max. :10000
## Sleep.Disorder
## Length:374
## Class :character
## Mode :character
##
##
##
Visualisasi Hubungan Antar Peubah
1. Hubungan Age dengan Sleep Duration berdasarkan Jenis Kelamin
Fml <- Sleep %>% filter(Sleep$Gender == "Female")
plot(Fml$Age~Fml$Sleep.Duration, pch = 19, col = "purple2")
abline(lm(Fml$Age ~ Fml$Sleep.Duration), col = "orange2", lwd = 3)Ml <- Sleep %>% filter(Sleep$Gender == "Male")
plot(Ml$Age~Ml$Sleep.Duration, pch = 19, col = "pink2")
abline(lm(Ml$Age ~ Ml$Sleep.Duration), col = "yellow2", lwd = 3)Interpretasi
Perempuan (Female)
Hasil plot antara usia perempuan dengan sleep duration menunjukkan hubungan yang positif di antara kedua peubah tersebut. Semakin tinggi usia perempuan, semakin banyak durasi tidur yang dimiliki.
Laki-laki (Male)
Hasil plot antara usia laki-laki dengan sleep duration menunjukkan hubungan positif di antara kedua peubah tersebut. Semakin tinggi usia laki-laki, semakin banyak durasi tidur yang dimiliki. Tetapi, jika dilihat pada garis kuning, hubungan kedua peubah tersebut tidak begitu kuat.
2. Hubungan Sleep Duration dengan Quality of Sleep, Physical Activity Level, Stress Level, Heart Rate.
## Warning: package 'corrplot' was built under R version 4.3.2
## corrplot 0.92 loaded
library(RColorBrewer)
J <- data.frame(Sleep$Sleep.Duration, Sleep$Quality.of.Sleep, Sleep$Physical.Activity.Level, Sleep$Stress.Level, Sleep$Heart.Rate)
K <- cor(J)
corrplot(K, order = 'AOE', type = 'upper', tl.pos = 'd')
corrplot(K, add = TRUE, type = 'lower', method = 'number', order = 'AOE',
diag = FALSE, tl.pos = 'n', cl.pos = 'n')Interpretasi
Hasil plot korelasi di atas menunjukkan terdapat satu peubah yang tidak berhubungan signifikan terhadap sleep duration, yaitu physical activity level. Peubah yang memiliki hubungan signifikan positif adalah quality of sleep, dengan nilai korelasi sebesar 0.88. Artinya semakin besar durasi tidur yang dimiliki, kualitas tidur yang dimiliki pun semakin bagus.Peubah yang memiliki hubungan signifikan negatif adalah stress level dengan nilai korelasi sebesar -0.9 dan heart rate dengan nilai korelasi sebesar -0.66. Artinya semakin banyak durasi waktu yang dimiliki, level stres dan denyut jantung per menit akan semakin berkurang.
Visualisasi untuk Time Series
Perbandingan Saham Penutupan YG dan SM pada 5 Tahun Terakhir dalam Mingguan
## Rows: 263 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (6): Open, High, Low, Close, Adj Close, Volume
## date (1): Date
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
## Rows: 263 Columns: 7
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (6): Open, High, Low, Close, Adj Close, Volume
## date (1): Date
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
SM1 <- SM %>% select(Date, `Adj Close`)
gabung <- data.frame(YG1, SM1)
library(ggplot2)
ggplot(data = gabung, mapping = aes(x=Date)) +
geom_line(aes(y=`Adj.Close`, color = "YG")) +
geom_line(aes(y=`Adj.Close.1`, color = "SM"))+
theme_linedraw()Interpretasi
Trend harga penutupan saham yang dimiliki SM Entertainment dan YG Entertainment tidak jauh berbeda secara fluktuatifnya. Perbedaan yang mencolok terdapat pada pertengahan 2020 hingga pertengahan 2021 dimana harga penutupan saham YG Entertainment lebih besar. Sedangkan perbedaan lainnya yang juga mencolok terdapat pada pertengahan 2022 hingga saat ini dimana harga penutupan saham SM Entertainment yang lebih besar dibandingkan YG Entertainment.
Visualisasi Spasial
Peta populasi dunia pada tahun 2023
library(ggplot2)
library(tidyverse)
library(readr)
hwr <- read_csv("D:/WorldPopulation2023.csv")
hwr1 <- hwr[,c("region", "Population2023")]## Warning: package 'mapdata' was built under R version 4.3.3
## Loading required package: maps
## Warning: package 'maps' was built under R version 4.3.3
##
## Attaching package: 'maps'
## The following object is masked from 'package:purrr':
##
## map
dataworld <- map_data("world")
datajj <- left_join(dataworld, hwr1, by = "region")
datakk <- datajj %>% filter(!is.na(datajj$Population2023))library(ggplot2)
ggplot(datakk, aes( x = long, y = lat, group=group)) +
geom_polygon(aes(fill = Population2023), color = "black")+
scale_fill_gradient(name = "Population2023", low = "green3", high = "purple", na.value = "pink")+
theme(axis.text.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks = element_blank(),
axis.title.y=element_blank(),
axis.title.x=element_blank(),
rect = element_blank())Interpretasi
Negara pada peta di atas yang memilikki warna hijau artinya populasinya berjumalah sekitar 500.000.000 orang. Sedangkan, negara yang memiliki warna ungu artinya populasinya berjumlah sekitar 1.000.000.000. Pada peta di atas, negara dengan populasi terbanyak adalah Cina.