Algoritma & Struktur Data

Introduce to Data Sciences


Kontak \(\downarrow\)
Email
Instagram https://www.instagram.com/its_bangjeki/
RPubs https://rpubs.com/valensiusjimy/
Nama Valensius Jimy
NIM 20214920005

  Pada kesempatan kali ini saya ingin mencoba berkenalan dengan pondasi dasar daripada Data Sains dengan menggunakan RStudio. Dalam hal ini mencakup cara import data, mengontrol dengan berbagai variasi cara hingga menvisualisasikan data yang telah kita import dengan ggplot.

Import Data

  Saya mencoba untuk mencari tahu informasi mengenai tingkat kebahagiaan manusia diberbagai tempat atau negara melalui data yang saya dapat dari situs Kaggle dan berikut ini percobaan yang saya lakukan dengan langkah pertama import datanya.

pacman::p_load(readxl, writexl)
hoy <- read.csv("C:/Users/USER/Downloads/2015.csv")

hoy

Membuat Dan Mengatur Subset Data

Filter

  Filter atau dapat kita sebut menyaring adalah suatu fungsi dimana kita dapat menyaring data yang kita inginkan. Sebagai contohnya, saya ingin mengambil data dengan mencari tingkat kebahagiaan di negara Canada berdasarkan kategori Country pada data di atas. Kita perlu memanggil perpustakaan dplyr untuk proses ini.

library(dplyr)

Dan kita langsung bisa mengulik datanya :)

filter_hoy <- filter(hoy, Country == "Canada")

filter_hoy

Maka terlihat akan tampil data untuk negara Canada saja, tetapi hanya satu data saja yang terlihat. Sehingga, saya mencoba untuk menyaring data dikategori Region di Western Europe.

filter2_hoy <- filter(hoy, Region == "Western Europe")

filter2_hoy

Dengan adanya filter memudahkan kita untuk mencari informasi yang dibutuhkan secara efisien dan lebih cepat untuk memberikan informasi dibandingkan dibaca step by step. Karena pastinya data yang kita dapat akan sangat besar dan banyak.

Select

  Ketika menyaring data dan kita masih ingin membuat apa yang ditampilkan lebih ringkas, maka kita dapat menggunakan fungsi select dari perpustakaan dplyr juga untuk menampilkan kolom apa saja yang kita inginkan. Contohnya adalah sebagai berikut.

select_hoy <- select(hoy, Country, Happiness.Rank, Happiness.Score)

select_hoy

Terkadang kita membutuhkan data hanya dari beberapa kolom saja dan select inilah metode yang cocok.

Arrange

  Terdapat fungsi arrange yang berguna untuk pengurutan dari yang terkecil ke terbesar atau sebaliknya. Pada data ini saya mencoba untuk mengurutkan skor kebahagiaan dari setiap negara dna dari data yang sudah diseleksi pada step sebelumnya.

arrange_hoy <- arrange(select_hoy, Happiness.Score)

arrange_hoy

Dari metode tersebut kita menjadi tahu bahwa skor terendah kebahagiaan terendah didapat oleh negara Togo dengan nilai 2839.

Slice

  Selanjutnya, kita dapat melakukan proses pemotongan data atau mudahnya kita ingin menampilkan data baris keberapa sampai keberapa. Saya mencoba untuk menampilkan baris pertama hingga kelima saja.

tfsrt <- slice(arrange_hoy, 1:5)

tfsrt

Kemudian, saya mencoba untuk menampilkan data selain 5 baris pertama.

tfsrt2_id <- slice(arrange_hoy, -c(1:5))

tfsrt2_id

Visualisasi Data

  Di sini saya mencoba untuk menvisualisasikan data kebahagiaan disetiap negara ataupun daerahnya dengan ggplot.

# Memanggil Library yang Kita Gunakan

library(reshape2)
library(ggplot2)
library(scales)
library(ggpubr)

Tingkat Kebahagiaan Total Setiap Region

ggplot(hoy, aes(Region, Happiness.Score)) +
  geom_bar(stat = "Identity",
           fill = "yellow") +
  scale_x_discrete("Region") +
  scale_y_continuous("Happiness Score") +
  theme(axis.text.x = element_text(angle=90,vjust = 0.5)) +
  labs(title = "Happiness Score in Region")

Tingkat Rata-rata Kebahagiaan Regionnya

Terlebih dahulu mencari nilai rata-rata kebahagiaannya

hoy2 <- hoy %>%
  select(-6) %>%
  group_by(Region) %>%
  summarise_at(vars(-Country), funs(mean(., na.rm=TRUE)))
ggplot(hoy2, aes(Region, Happiness.Score)) +
  geom_bar(stat = "Identity",
           fill = "coral") +
  scale_x_discrete("Region") +
  scale_y_continuous("Happiness Score") +
  theme(axis.text.x = element_text(angle=90,vjust = 0.5)) +
  labs(title = "Happiness Score in Region")

Tingkat Kebahagiaan Region Berdasarkan Kategori Berbeda

hoy2_melt <- melt(hoy2)
ggplot(hoy2_melt, aes(y = value, x = Region,
                      fill=Region,
                      color=Region)) +
  geom_bar(stat="Identity") +
  facet_wrap(~variable) + theme_bw() +
  theme(axis.text.x = element_text(angle=90, hjust=1)) +
  labs(title = "Kebahagiaan Berdasarkan Kategori",
       y = "Rata-rata Nilai")

Nilai Keluarga di Setiap Region

ggplot(hoy, aes(Region, Family)) +
  geom_bar(stat = "Identity",
           fill = "#339999") +
  scale_x_discrete("Region") +
  scale_y_continuous("Family Score") +
  theme(axis.text.x = element_text(angle=90,vjust = 0.5)) +
  labs(title = "Family Score in Every Region")

Tingkat Kepercayaan Pemerintah Korupsi

ggplot(hoy, aes(Region, Trust..Government.Corruption.)) +
  geom_bar(stat = "Identity",
           fill = "#9999FF") +
  scale_x_discrete("Region") +
  scale_y_continuous("Tingkat Kepercayaan") +
  theme(axis.text.x = element_text(angle=90,vjust = 0.5)) +
  labs(title = "TGC Score")