Install Package

library(readxl)
library(ggplot2)
library(corrplot)
## corrplot 0.92 loaded
library(rnaturalearthdata)
library(rnaturalearth)
## 
## Attaching package: 'rnaturalearth'
## The following object is masked from 'package:rnaturalearthdata':
## 
##     countries110
library(ggspatial)
library(sf)
## Linking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE

Data

library(readxl)
Datarumah<-read_xlsx("/Users/naiyadzilizzati/Documents/Semester 4/Visualisasi Data/Data Rumah.xlsx")
Datarumah
## # A tibble: 1,010 × 8
##       NO `NAMA RUMAH`                        HARGA    LB    LT    KT    KM   GRS
##    <dbl> <chr>                               <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1     1 Rumah Murah Hook Tebet Timur, Te… 3.8 e 9   220   220     3     3     0
##  2     2 Rumah Modern di Tebet dekat Stas… 4.6 e 9   180   137     4     3     2
##  3     3 Rumah Mewah 2 Lantai Hanya 3 Men… 3   e 9   267   250     4     4     4
##  4     4 Rumah Baru Tebet, Tebet, Jakarta… 4.30e 8    40    25     2     2     0
##  5     5 Rumah Bagus Tebet komp Gudang Pe… 9   e 9   400   355     6     5     3
##  6     6 Rumah Mewah Modern Murah 3 lanta… 4.97e 9   300   154     5     3     3
##  7     7 Rumah lama di Tebet, dekat MT Ha… 2.6 e 9   120   150     3     2     1
##  8     8 RUMAH BAGUS KEREN JALAN LEBAR DI… 1.05e10   350   247     4     4     0
##  9     9 Minimalis Baru Jalan 1 Mobil Aks… 3.25e 9   125    90     3     3     0
## 10    10 Minimalis Baru Jalan 2 Mobil Teb… 4.50e 9   250    96     5     4     1
## # ℹ 1,000 more rows

Visualisasi

Hubungan antar peubah numerik

Scatter plot

ggplot(Datarumah, aes(y = HARGA, x = LB)) +
  geom_point() +  
  labs(title = "Scatter Plot", x = "Luas bangunan", y = "Harga rumah") +
  theme_classic()

Secara umum laus bangunan memiliki hubungan yang linier positif dengan harga rumah, semakin luas bangunan rumah maka harga rumah juga semakin tinggi, begitu pula sebaliknya.

Luasbangunan <- Datarumah$LB
Luastanah <- Datarumah$LT
Kamartidur <- Datarumah$KT
pairs(Datarumah[,c("HARGA", "LB","LT")], col = "PINK")

Scatter plot diatas menggambarkan bahwa seluruh hubungan antar peubah cenderung positif dan tidak ada yang berkorelasi negatif. LB merupakan luas bangunan dan LT merupakan luas tanah. Hal ini mengimplementasikan hubungan antara dua peubah ketika kedua peubah itu bergerak dalam arah yang sama. Oleh karenanya, satu peubah meningkat jika peubah lainnya meningkat, atau satu peubah menurun sementara yang lainnya juga menurun.

databaru <- read_excel("/Users/naiyadzilizzati/Documents/Semester 4/Analisis Regresi/Data IPG.xlsx")
databaru
## # A tibble: 27 × 13
##        Y    X1    X2    X3    X4    X5    X6    X7    X8    X9   X10   X11   X12
##    <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1  90.0  73.5  9.09  8     8747  38.1  26.1  12.5 10.6   95.9  84.4  48.4  23.2
##  2  87.6  73.5 14     6.85  6967  40.1  27.8  12.1  7.77 100.   82.2  52.2  14.0
##  3  84.9  72.5 18     6.73  5170  41.7  22.0  11.9  8.41 100    80.9  48.5  11.8
##  4  94.0  75.8 16.4   8.83  9261  39.3  33.5  13.1  6.98 100.   88.1  54.1  19.8
##  5  82.8  73.7 22     7.41  4523  44.6  31.4  12.0  7.6   97.2  83.3  52.2  10.4
##  6  86.6  71.9 16     7.58  5505  51.8  28.2  12.6  4.17 100.   90.1  62.0  15.2
##  7  87.0  74.2 10.2   7.84  6477  46.0  38.9  14.3  3.75 100.   87.1  50.9  32.4
##  8  87.2  75.9 24     7.62  6777  48.1  31.1  12.2  9.81 100.   79.6  66.9  13.0
##  9  84.0  74.4 28     6.97  5667  40.1  28    12.7  8.11  96.6  80.8  60.4  12.6
## 10  86.7  72.7 12     7.08  6509  40.3  28    12.2  4.16  97.0  81.2  65.7   7.9
## # ℹ 17 more rows

Heatmap

model <- lm(Y ~ X2+X5+X6+X7 ,data= databaru)
cor_mat <- cor(model$model)
corrplot(cor_mat, method = 'number')+
  theme(axis.text.x = element_text(angle=45, vjust =1, hjust=1))

## NULL

Y = persentase bayi gizi buruk (orang) X2 = berat badan lahir rendah (persen) X5 = besaran upah minimum (rupiah) X7 = akses terhadap air minum memenuhi syarat (persen) X8 = tempat pengelolaan makanan memenuhi syarat kesehatan (persen)

Menggambarkan hubungan antar peubah Y dan beberapa peubah X. Jika bernilai 0 maka di antara peubah tidak memiliki korelasi, jika bernilai minus maka antara peubah korelasi linear terbalik, sedangkan jika positif korelasi memiliki hubungan linear

Data

Disney <- read.csv("/Users/naiyadzilizzati/Documents/Semester 4/Visualisasi Data/Dis (1).csv") 
str (Disney)
## 'data.frame':    1258 obs. of  7 variables:
##  $ Date     : chr  "2019-04-17" "2019-04-18" "2019-04-22" "2019-04-23" ...
##  $ Open     : num  130 132 132 133 133 ...
##  $ High     : num  132 133 132 134 136 ...
##  $ Low      : num  129 131 131 133 133 ...
##  $ Close    : num  132 132 132 133 135 ...
##  $ Adj.Close: num  130 130 130 131 133 ...
##  $ Volume   : int  14253700 11890600 10197500 12159300 11449500 16382500 14167600 25746100 15253100 8906700 ...

Time series

DIS <- ts(Disney$Close, start = c(2019,1), end = c(2023,12), frequency = 12)
plot(DIS, main = "Time Series 
     Harga Penutupan Saham Disney", col = "orange", xlab = "Tahun", ylab = "Harga Penutup")

Data tersebut merupakan gambaran nilai saham dari Disney selama kurun waktu 2019 hingga 2024. Walau terlihat fluktuatif, secara umum nilai saham di Disney selalu mengalami penaikan dari masa ke masa. Titik tertinggi berada di tahun 2024 yang menyentuh nilai >144. Selama pandemi di sekitar pertengahan tahun 2020, saham mengalami penurunan namun bisa kembali naik walau belum maksimal.

Data

data <- read.csv("/Users/naiyadzilizzati/Documents/Semester 4/Visualisasi Data/EUvaccine.csv") 
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## line 1 appears to contain embedded nulls
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## line 3 appears to contain embedded nulls
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## line 4 appears to contain embedded nulls
## Warning in read.table(file = file, header = header, sep = sep, quote = quote, :
## line 5 appears to contain embedded nulls
## Warning in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,
## : EOF within quoted string
## Warning in scan(file = file, what = what, sep = sep, quote = quote, dec = dec,
## : embedded nul(s) found in input
data <- data.frame(region = c("UK", "Serbia", "Malta", "Hungary", "Denmark", "Estonia", "Iceland", "Lithuania", "Norway", "Slovenia", "Finland", "Greece", "Switzerland", "Poland", "Ireland", "Spain", "Portugal", "Austria", "Slovakia", "Cyprus", "Italy", "Sweden", "Romania", "France", "Germany", "Czech Republic", "Belgium", "Netherlands", "Luxembourg", "Croatia", "Latvia", "Bulgaria"),Perc_vaccinated = c(37.98, 29.5, 27.19, 17.95, 14.4, 14.01, 13.73, 12.95, 12.74, 12.41, 12.33, 12.31, 11.96, 11.94, 11.94, 11.45, 11.41, 11.39, 11.37, 11.33, 11.11, 10.83, 10.76, 10.75, 10.58, 10.1, 9.89, 9.45, 8.76, 7.33, 5.15, 4.88)
)

Geospasial

world <- ne_countries(scale = "medium", returnclass = "sf")

europe <- world[world$continent == "Europe",]

europe <- merge(europe, data, by.x = "name", by.y = "region", all.x = TRUE)
ggplot(data = europe) +
  geom_sf(aes(fill = Perc_vaccinated)) +
  scale_fill_viridis_c(option = "plasma", na.value = "grey50") +
  theme_minimal() +
  labs(
    title = "Vaccination Rates in Europe",
    fill = "% Vaccinated"
  ) +
  theme(
    plot.title = element_text(hjust = 0.5)
  )

Dari peta di atas dapat dilihat penyebaran vaksin di Eropa, semakin cerah warna yang ditampilkan makan tingkat vaksinasi semakin tinggi di daerah tersebut dan sebaliknya.