Descriptive Analytics dengan R

29
Descriptive Analytics dengan R Tim Penyusun Materi Pengenalan Komputasi Institut Teknologi Bandung © 2021

Transcript of Descriptive Analytics dengan R

Page 1: Descriptive Analytics dengan R

Descriptive Analytics dengan R

Tim Penyusun Materi Pengenalan Komputasi

Institut Teknologi Bandung © 2021

Page 2: Descriptive Analytics dengan R

Objektif

• Mahasiswa dapat mempraktikkan teknik dalam Descriptive Analytics dan EDA untuk melakukan analisis data sederhanadengan menggunakan R

22/10/2021 Pengenalan Komputasi 2

Page 3: Descriptive Analytics dengan R

Klasifikasi Data Analytics

22/10/2021 Pengenalan Teknologi Informasi 3

Sumber:2017 Planning Guide for Data and Analytics

Page 4: Descriptive Analytics dengan R

Descriptive Analytics

• Jenis paling sederhana dari Data Analytics• Analisis terhadap data history untuk mendapatkan profil umum dalam

bentuk summary dari data atau hubungan antar data untukmenjelaskan situasi yang telah terjadi.

• Contoh hasil analisis:• Banyaknya friend, mention, followers, page views• Banyaknya page views• Perbandingan banyaknya mahasiswa antar prodi di ITB• Rata-rata nilai mahasiswa peserta PTIB• Hubungan antara banyaknya jam belajar dengan prestasi akademik• Ada kecenderungan bahwa orang beli roti tawar bersamaan dengan

butter/mentega• dll

22/10/2021 Pengenalan Komputasi 4

Page 5: Descriptive Analytics dengan R

Contoh-contoh kegiatan Data AnalysisDescriptive Analytics dan Exploratory DA• Retrieve Value (Selection)• Filter• Compute Derived Value• Find Extremum• Sort• Determine Range• Characterize Distribution• Find Anomalies• Correlation• Clustering

22/10/2021 Pengenalan Komputasi 5

https://en.wikipedia.org/wiki/Data_analysis

Page 6: Descriptive Analytics dengan R

Tipe Data

• Categorical-Nominal • Nama negara, warna kulit, nama program studi, dll

• Categorical-Ordinal• Likert scale (“sangat setuju” s.d. “sangat tidak setuju”)• Indeks nilai A, B, C, D, E

• Categorical-Binary• Jenis kelamin, status mahasiswa (aktif, tidak aktif), dll

• Quantitative-Discrete• Banyaknya anak, banyaknya mahasiswa, banyaknya sks lulus

• Quantitative-Continues• Usia, berat badan, tinggi, suhu

22/10/2021 Pengenalan Komputasi 6

Page 7: Descriptive Analytics dengan R

R

• R adalah bahasa pemrograman dan lingkunganpengembangan software untuk komputasi statistics

• Dikembangkan oleh R Core Team

• Bahasa pemrograman R banyak digunakan oleh statistikawan dan data miner untuk mengembangkanprogram-program statistika dan data analysis

• RStudio adalah lingkungan pengembangan terintegrasi(IDE, integrated development environment) untukbahasa R yang dikembangkan oleh RStudio, Inc.

• Download dan install R: https://cran.r-project.org/

• Download dan install RStudio: https://rstudio.com

22/10/2021 Pengenalan Komputasi 7

Page 8: Descriptive Analytics dengan R

22/10/2021 Pengenalan Komputasi 8

Tampilan Dasar RStudio

Source code

Environment & history

Files, plots, packages, help

Console

Page 9: Descriptive Analytics dengan R

Data Frame

• Data frame adalah struktur data berbentuk tabel 2 dimensidengan kolom mewakili suatu variabel dan baris mewakili set of values dari tiap kolom

• Contoh data frame:

22/10/2021 Pengenalan Komputasi 9

Page 10: Descriptive Analytics dengan R

Create Data Frame

# Create the data frame.

emp.data <- data.frame(

emp_id = c(1:5),

emp_name = c("Rick","Dan","Michelle","Ryan","Gary"),

salary = c(623.3,515.2,611.0,729.0,843.25),

start_date = as.Date(c("2012-01-01", "2013-09-23", "2014-11-15",

"2014-05-11", "2015-03-27")),

stringsAsFactors = FALSE

)

# Print the data frame.

print(emp.data)

22/10/2021 Pengenalan Komputasi 10

Page 11: Descriptive Analytics dengan R

Contoh data

• Data perolehan medali dalamAsian Games 2018 Jakarta

• File: medali.csv ataumedali.xlsx

• Sumber data medali: https://www.bola.com/pages/perolehan-medali/

22/10/2021 Pengenalan Komputasi 11

Page 12: Descriptive Analytics dengan R

Baca dari file dan simpan dalam data frame

• Baca Data dari File CSV

22/10/2021 Pengenalan Komputasi 12

df1 <- read.csv("D:/medali.csv", header = TRUE, sep = ",")

# nama file: D:/medali.csv, baris pertama adalah header/nama kolom

# separator data adalah koma

print(df1)

Page 13: Descriptive Analytics dengan R

Baca dari file dan simpan dalam data frame

• Baca Data dari File Spreadsheet (.xlsx)• Instal terlebih dahulu package xlsx

• Baca data dari file xlsx, simpan dalam data frame, dan print

22/10/2021 Pengenalan Komputasi 13

install.packages("xlsx")

# Verify the package is installed.

any(grepl("xlsx",installed.packages()))

# Load the library into R workspace.

library("xlsx")

df2 <- read.xlsx("D:/medali.xlsx", sheetIndex = 1)

# nama file: D:/medali.xlsx, data diambil pada worksheet ke-1

print(df2)

Page 14: Descriptive Analytics dengan R

Tulis Data Frame ke file

• Tulis Data ke File CSV

• Tulis Data ke File Spreadsheet (.xlsx)

22/10/2021 Pengenalan Komputasi 14

# Asumsi df1 sudah terdefinisi (lihat slide sebelumnya)

write.csv(df1, "D:\\medali_out1.csv", row.names = FALSE)

# Asumsi df2 sudah terdefinisi (lihat slide sebelumnya)

write.xlsx(df2, file = "D:\\medali_out2.xlsx",

sheetName = "medali", append = FALSE, row.names = FALSE)

Page 15: Descriptive Analytics dengan R

Select Data (1): Subset, Filter

• DataFrame menggunakan indeks mulai dengan nilai 1

• Contoh-contoh:

#Dapatkan data pada baris ke-1 kolom ke-2

> df1[1,2]

[1] China

# dapatkan data pada baris ke-5 (semua kolom)

df1[5,]

#dapatkan data pada baris 4..10 dan kolom 2..5

df1[c(4:10),c(2:5)]

#dapatkan data pada baris 1..5 dan semua kolom kecuali kolom 1

df1[c(1:5),-c(1)]

#data baris ke-4, kolom country

df1[4,c("country")] #Indonesia

22/10/2021 Pengenalan Komputasi 15

Page 16: Descriptive Analytics dengan R

Select Data (2): Berdasar kondisi

subset: mengakses data berdasarkan nama kolom dan kondisi

#Ambil semua data dengan jumlah medali perunggu = 0

subset(df1, bronze == 0)

#Ambil semua data dengan total medali >= 50 pada kolom country, total

subset(df1, total >= 50, select = c("country","total"))

#Ambil semua data negara yang hanya mendapat medali perunggu

subset(df1, gold == 0 & silver == 0 & bronze > 0)

#Ambil semua data negara yang tidak mendapatkan medali emas atau

#perak atau perunggu

subset(df1, gold == 0 | silver == 0 | bronze == 0)

22/10/2021 Pengenalan Komputasi 16

Page 17: Descriptive Analytics dengan R

Select Data (3a)Latihan-1• Tuliskan perintah dan tuliskan hasilnya untuk beberapa perintah

berikut:1. Tampilkan data 10 negara ranking pertama.

2. Tampilkan daftar negara rangking 11 s.d. 20 (nama negaranya saja yang ditampilkan)

3. Tampilkan data negara yang mendapatkan 1 medali emas.

4. Tampilkan data negara dengan total perolehan medali > 20, tetapidengan jumlah perolehan medali emas < 5

22/10/2021 Pengenalan Komputasi 17

Page 18: Descriptive Analytics dengan R

Select Data (3b)Latihan-1• Contoh perintah dan hasil:

3. Tampilkan data negara yang mendapatkan 1 medali emas.

22/10/2021 Pengenalan Komputasi 18

Page 19: Descriptive Analytics dengan R

Find Extremum

#Temukan jumlah bronze terbesar

max(subset(df1,select=c("bronze")))

max(df1[,c("bronze")])

#Temukan baris data dengan bronze terbanyak

subset(df1,bronze==max(subset(df1,select=c("bronze"))))

#Temukan semua negara dengan nilai bronze minimum

subset(df1,bronze==min(subset(df1,select=c("bronze"))))

22/10/2021 Pengenalan Komputasi 19

Page 20: Descriptive Analytics dengan R

Determine Range

#dapatkan range nilai kolom bronze

> range(subset(df1,select=c("bronze")))

> range(df1[,c("bronze")])

[1] 0 74

# nilai minimum = 0 dan maksimum = 74

#dapatkan range nilai pada baris 1..4 dan kolom 3..4

range(df1[c(1:4),c(3:4)])

22/10/2021 Pengenalan Komputasi 20

Page 21: Descriptive Analytics dengan R

Latihan-2

• Tampilkan negara(-negara) pada ranking 11 s.d. 20 denganperolehan perak terbanyak

• Tampilkan negara(-negara) dengan perolehan perunggu paling sedikit, tapi total perolehan medali > 0

22/10/2021 Pengenalan Komputasi 21

Page 22: Descriptive Analytics dengan R

Sort

#Sort terurut menaik (ascending) berdasarkan kolom bronze

df1[ order(df1$bronze), ]

df1[ order(subset(df1,select=c("bronze"))), ]

df1[ order(df1[,c("bronze")]), ]

#Sort terurut menaik (ascending) berdasarkan kolom country

df1[order(df1[,c("country")]),]

#Sort terurut menurun (descending) berdasarkan kolom bronze

df1[order(-df1[,c("bronze")]),]

#Catatan: urutan menurun hanya untuk data numerik

22/10/2021 Pengenalan Komputasi 22

Urutan berdasarkan kolom bronze, terurut menaik/ascending

Page 23: Descriptive Analytics dengan R

Sort

#Sort terurut menaik (ascending) berdasarkan kolom country dan

#selanjutnya berdasarkan kolom bronze

df1[order(df1[,c("country")],df1[,c("bronze")]),]

#Sort terurut menaik (ascending) berdasarkan kolom country dan

#menurun berdasarkan kolom bronze

df1[order(df1[,c("country")],-df1[,c("bronze")]),]

Latihan-3Sort data perolehan medali terurut menurun berdasarkan kolomgold dan terurut menaik berdasarkan kolom silver

22/10/2021 Pengenalan Komputasi 23

Page 24: Descriptive Analytics dengan R

Counting Frequency

• Menghitung banyaknya kemunculan suatu data item pada suatu kolom→ distribusi kemunculan nilai

• Membutuhkan package plyr

#Counting frequency kolom bronze

count(df1,c("bronze"))

Latihan-4

Buatlah distribusi frekuensi untuk total perolehanmedali.

22/10/2021 Pengenalan Komputasi 24

# Install package

install.packages("plyr")

# Verify the package is installed.

any(grepl("plyr",installed.packages()))

# Load the library into R workspace.

library("plyr")

Page 25: Descriptive Analytics dengan R

Descriptive Statistics

Menampilkan beberapa statistik penting pada data

summary(df1)

22/10/2021 Pengenalan Komputasi 25

Page 26: Descriptive Analytics dengan R

Rata-Rata dan Deviasi Standar

• Menghitung rata-rata (mean) dan deviasi standar (std) pada data

#rata-rata total perolehan medali

mean(df1[,c("total")])

#deviasi standar total perolehan medali

sd(df1[,c("total")])

Latihan-5

Hitunglah rata-rata dan deviasi standar untuk kolom gold.

22/10/2021 Pengenalan Komputasi 26

Page 27: Descriptive Analytics dengan R

Correlation (1)

22/10/2021 Pengenalan Komputasi 27

Correlation adalah indikasihubungan antara dua ataulebih variable, yang dinyatakandalam correlation coefficient

Sumber: https://www.mathsisfun.com/data/correlation.html

Page 28: Descriptive Analytics dengan R

Correlation (2)

#korelasi antara perolehan medali emas dengan total

#perolehan medali

> cor(df1[,c("gold")],df1[,c("total")])

> cor(df1$gold, df1$total)

[1] 0.965647

• Dengan nilai mendekati 1, korelasi antara “gold” dan “total” adalahcenderung positif (high positive correlation)

• Artinya: semakin banyak perolehan medali emas, total perolehanmedali juga cenderung semakin banyak

22/10/2021 Pengenalan Komputasi 28

Page 29: Descriptive Analytics dengan R

Correlation (2)Latihan-6• Hitung dan analisis-lah korelasi antara data-data berikut:

• Gold vs Silver

• Silver vs Bronze

• Gold vs Bronze

• Silver vs Total

• Bronze vs Total

22/10/2021 Pengenalan Komputasi 29

gold silver bronze total

gold 1

silver 0.96218… 1

bronze 0.81740… 0.89955… 1

total 0.96564… 0.98981… 0.93523… 1