Descriptive Analytics dengan R
Transcript of Descriptive Analytics dengan R
Descriptive Analytics dengan R
Tim Penyusun Materi Pengenalan Komputasi
Institut Teknologi Bandung © 2021
Objektif
• Mahasiswa dapat mempraktikkan teknik dalam Descriptive Analytics dan EDA untuk melakukan analisis data sederhanadengan menggunakan R
22/10/2021 Pengenalan Komputasi 2
Klasifikasi Data Analytics
22/10/2021 Pengenalan Teknologi Informasi 3
Sumber:2017 Planning Guide for Data and Analytics
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
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
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
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
22/10/2021 Pengenalan Komputasi 8
Tampilan Dasar RStudio
Source code
Environment & history
Files, plots, packages, help
Console
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
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
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
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)
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)
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)
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
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
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
Select Data (3b)Latihan-1• Contoh perintah dan hasil:
3. Tampilkan data negara yang mendapatkan 1 medali emas.
22/10/2021 Pengenalan Komputasi 18
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
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
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
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
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
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")
Descriptive Statistics
Menampilkan beberapa statistik penting pada data
summary(df1)
22/10/2021 Pengenalan Komputasi 25
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
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
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
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