dengan tipe data sama. Jadi, jika tipe datanya teks maka seluruh data harus bertipe teks. Demikian
juga jika tipenya angka maka seluruh data angka semua.
Vector didefinisikan dengan nama function yang memilki satu huruf saja: c. Sebagai contoh untuk
membuat vector yang isinya angka dengan nilai 2, 5, dan 7, maka perintahnya adalah c(2, 5, 7).
Penggunaan vektor pada R contoh :
C(3,10,15) akan menampilkan -> 3,10,15
C(1:5) akan menampilkan -> 1,2,3,4,5
Contoh lain
> nama_mahasiswa <- c("Amira","Budi","Charlie")
> print(nama_mahasiswa)
[1] "Amira" "Budi" "Charlie"
Pada latihan sebelumnya kita sudah mengerti cara membuat vector untuk angka dan teks, namun
belum ditunjukkan cara untuk mengambil tiap nilai dari vector tersebut. Perhatikan pada live code
editor telah terisi code-code yang dapat Anda praktekkan sambil melihat penjelasan di bawah ini.
Untuk mengambil isi vector, kita harus mengambil dari posisinya. Posisi ini diwakili oleh
angka urutan – yang disebut sebagai index.
Cara penulisan index di variable adalah angka yang diapit dengan kurung siku tunggal atau
ganda. Penulisan ini selanjutnya disebut sebagai accessor.
Jika index yang ingin diambil lebih dari satu, maka hanya boleh menggunakan kurung siku
tunggal.
Mari kita langsung contohkan agar lebih jelas. Pada code editor kita telah membuat suatu
variable vector angka dengan isi berupa angka numerik 20 sampai dengan 30.
> print(angka)
[1] 20 21 22 23 24 25 26 27 28 29 30
> # Buat vector teks dengan nama kode_prodi yang diisi sesuai petunjuk soal
> kode_prodi <- c("DKV","ILKOM","ICT")
Selain dengan angka, indeks pada vector juga dapat dilengkapi dengan nama untuk tiap elemennya
dengan menggunakan format penulisan name=value.
Mari kita langsung praktekkan dengan contoh, ketik named vector berikut - dimana kita membuat
vector angka dengan tiap urutan diberi nama.
> #Membuat named vector dengan nama nilai
> nilai <- c(statistik = 89, fisika = 95, ilmukomunikasi = 100)
LIST
List adalah jenis data di R yang mirip dengan vector, perbedaannya adalah list dapat menyimpan
lebih dari satu jenis data.Untuk memasukkan isi ke dalam struktur data ini kita gunakan function list.
Sebagai contoh, untuk membuat list yang isinya campuran jenis data angka 2, "Budi", dan angka 4 –
maka perintahnya adalah sebagai berikut.
Panel code editor telah dilengkapi rangkaian contoh code untuk menghasilkan list dan komentarnya
sekaligus menjelaskan apa yang dilakukan. Jalankan dengan tombol untuk melihat hasilnya.
Catatan: Perhatikan hasil eksekusi seperti di bawah. Terlihat outputnya agak berbeda dengan vector
- dimana tiap output terdapat dua tampilan accessor (kurung siku tunggal dan ganda).
> # List disimpan dalam variable dengan nama list_random
> list_random <- list(2, "Budi", 4)
[[2]]
[1] "Budi"
[[3]]
[1] 4
$propinsi
[1] "Bali"
$propinsi
[1] "Sulawesi Selatan"
$luas_km2
[1] 199.3
Untuk mengambil isi list, kita bisa mengambil dari posisi index-nya, ketentuan dan caranya sama
persis dengan vector.
Contoh: Untuk mengambil posisi kedua dari variable list list_saya kita bisa gunakan
list_saya[2]
atau
list_saya[[2]].
Panel code editor telah dilengkapi rangkaian contoh code untuk list dan cara akses indeksnya
beserta penjelasan dalam bentuk comment. Jalankan dengan tombol untuk melihat hasilnya.
> # Membentuk list dengan 2 angka dan 1 character
> list_satu <- list(1, "Online", TRUE)
DATA FRAME
Data frame adalah jenis struktur data yang dirancang untuk representasi table, yang terdiri dari
banyak kolom dengan tiap kolom berisi list ataupun vector dengan jumlah data yang sama.
Panel code editor telah dilengkapi contoh code untuk membuat data frame untuk data mahasiswa.
Jalankan dengan tombol untuk melihat hasilnya.
> info_mahasiswa
fakultas jumlah_mahasiswa akreditasi
1 Bisnis 260 A
2 D3 Perhotelan 28 A
3 ICT 284 B
4 Ilmu Komunikasi 465 A
5 Seni dan Desain 735 A
Data frame memiliki banyak kolom dan bisa diakses dengan nama kolom yang digunakan. Caranya
adalah menggunakan accessor dengan tanda $ yang diikuti dengan nama kolom.
Contoh: info_mahasiswa$fakultas.
Panel code editor telah dilengkapi contoh code untuk membuat data frame untuk data mahasiswa
dan akses kolom jumlah_mahasiswa. Jalankan dengan tombol untuk melihat hasilnya.
> #Menampilkan kolom fakultas
> info_mahasiswa$fakultas
[1] Bisnis D3 Perhotelan ICT Ilmu Komunikasi
[5] Seni dan Desain
Levels: Bisnis D3 Perhotelan ICT Ilmu Komunikasi Seni dan Desain
Vector hanya bisa diisi dengan salah satu tipe data saja di seluruh elemennya, misalkan
angka ataupun teks. Pembuatan vector menggunakan fungsi c, dan bisa diakses dengan
accessor dengan angka indeks yang diapit kurung siku. Namun jika berupa named vector,
maka indeksnya adalah berupa teks.
List adalah tipe data yang bisa diisi dengan lebih dari satu tipe data di seluruh elemennya,
dengan campuran teks dan angka misalnya. Pembuatan list adalah menggunakan fungsi list,
dan seperti vector elemen pada list diakses dengan accessor yang diapit kurung siku.
Data Frame adalah tipe data yang terdiri dari satu atau beberapa vector ataupun list. Untuk
membuat data frame kita gunakan fungsi data.frame, dan kita bisa mengakses
menggunakan accessor $ diikuti nama kolom, dan juga angka indeks.
Grafik GGPlot
fakultas <- c("Bisnis", "D3 Perhotelan", "ICT", "Ilmu Komunikasi", "Seni dan Desain")
jumlah_mahasiswa <- c(260, 28, 284, 465, 735)
akreditasi <- c("A","A","B","A","A")
Code Penjelasan
ggplot(info_mahasiswa, Perintah awal untuk membentuk objek grafik ggplot2,
aes(x=fakultas, terdiri dari:
y=jumlah_mahasiswa,
fill=fakultas)) info_mahasiswa: data frame yang kita
gunakan
aes: fungsi untuk mengambil data apa saja
x: kolom yang kita gunakan untuk grafik
sumbu x, dalam hal ini fakultas
y: kolom nilai yang kita gunakan untuk plot
sumbu y, dalam hal ini jumlah_mahasiswa
fill: kolom mana yang akan kita gunakan
sebagai pembeda warna. Jika fill dihilangkan
maka grafik akan diisi warna abu-abu saja.
#Membuat kanvas
gambar <- ggplot(info_mahasiswa, aes(x=fakultas, y=jumlah_mahasiswa, fill=fakultas))
Buka excel
library(openxlsx)
mahasiswa <- read.xlsx("https://dqlab.id/mahasiswa.xlsx",sheet = "Sheet 1")
Tiap data perlu suatu standar untuk melakukan pengukuran, ini disebut skala.
Nominal: adalah skala yang diberikan hanya sebagai label saja, tidak mengandung pengertian
tingkatan.
Contoh: Jika pria =1 dan wanita = 2, artinya disini 1 dan 2 adalah nominal yang mewakili pria dan
wanita. Disini nilai 2 tidak lebih besar dari nilai 1.
Ordinal: adalah skala yang mengandung pengertian tingkatan.
Contoh: Data kepuasan, 1 = tidak puas, 2 = puas, dan 3 = sangat puas, artinya 1<2<3.
Interval: adalah skala yang mempunyai sifat ordinal dan mengandung jarak(interval).
Misalnya: harga pakaian merk A 100 ribu, harga pakaian merk C 200 ribu, artinya harga pakian merk
A dan C memiliki interval 100 ribu
Rasio: adalah skala yang mempunyai sifat nominal, ordinal, dan interval, serta mempunyai nilai rasio
antar objek yang diukur.
Contoh: harga pakaian merk A 100 ribu, harga pakaian merk C 200 ribu. Rasio harga pakaian A
dengan pakaian C adalah ½. Sehingga dapat dikatakan bahwa harga pakaian A harganya 2 kali
pakaian C.
Dari penjelasan diatas dapat kita simpulkan bahwa data kualitatif dapat kita golongkan menjadi skala
nominal dan ordinal. Sedangkan untuk data kuantitatif maka digolongkan menjadi Interval dan
Rasio.Skala pengukuran nominal dan ordinal pada R di definisikan sebagai factor atau sering disebut
data kategorik sedangkan interval dan rasio di definisikan sebagai numerik.
Syntaxnya juga cukup sederhana, cukup masukkan dataset ke dalam function ini seperti pada contoh
berikut.
str(data_intro)
> str(data_intro)
'data.frame': 20 obs. of 9 variables:
$ ID.Pelanggan : int 1 2 3 4 5 6 7 8 9 10 ...
$ Nama : Factor w/ 20 levels "Arif","Dian",..: 1 2 3 4 5 6 7 8 9
10 ...
$ Jenis.Kelamin : int 1 2 2 1 2 1 1 2 2 2 ...
$ Pendapatan : int 600000 1200000 950000 400000 1200000 800000 950000
1100000 800000 1700000 ...
$ Produk : Factor w/ 5 levels "A","B","C","D",..: 1 4 4 1 4 2 2 5 5
5 ...
$ Harga : int 100000 250000 250000 100000 250000 150000 150000 300000
300000 300000 ...
$ Jumlah : int 4 4 3 2 4 4 5 3 2 5 ...
$ Total : int 400000 1000000 750000 200000 1000000 600000 750000
900000 600000 1500000 ...
$ Tingkat.Kepuasan: int 2 2 3 3 2 3 1 3 1 1 ...
> str(data_intro$Nama)
chr [1:20] "Arif" "Dian" "Dinda" "Fajar" "Ika" "Ilham" ...
Merubah Sejumlah Kolom menjadi Data Kategorik (Factor)
Pada data_intro beberapa variabelnya bersifat kualitatif yaitu variabel jenis kelamin, produk, dan
Tingkat_Kepuasan. Variabel tersebut harus di ubah jenis datanya menjadi faktor untuk mendapatkan
karakteristik dari setiap pelanggan (observasi).
Untuk mengubah tipe data menjadi factor dapat menggunakan syntax berikut:
> ## Mengubah data menjadi factor untuk membedakan data kualitatif dengan
menggunakan functon as.factor
> data_intro$Jenis.Kelamin <- as.factor(data_intro$Jenis.Kelamin)
> ## Melihat apakah sudah berhasil dalam mengubah variabel tersebut dengan
menggunakan function str
> str(data_intro$Jenis.Kelamin)
Factor w/ 2 levels "1","2": 1 2 2 1 2 1 1 2 2 2 ...
> str(data_intro$Produk)
Factor w/ 5 levels "A","B","C","D",..: 1 4 4 1 4 2 2 5 5 5 ...
> str(data_intro$Tingkat.Kepuasan)
Factor w/ 3 levels "1","2","3": 2 2 3 3 2 3 1 3 1 1 ...
Mode(data_intro$Produk)
median(data_intro$Pendapatan)
mean(data_intro$Pendapatan)
max(data_intro$Jumlah)-min(data_intro$Jumlah)
var(data_intro$Pendapatan)
dimana
var adalah function yang digunakan untuk mendapatkan nilai varians dari data.
> var(data_intro$Pendapatan)
[1] 1.645684e+12
sd(data_intro$Jumlah)
dimana
sd adalah function yang digunakan untuk mendapatkan nilai simpangan baku dari data.
> ## Carilah simpangan baku untuk kolom Pendapatan dari variable data_intro
> sd(data_intro$Pendapatan)
[1] 1282842
summary(data_intro)
Function summary akan menampilkan kesimpulan pada variabel masing-masing. Untuk variabel
bertipe character akan menampilkan panjang datanya. Variabel bertipe factor akan menampilkan
jumlah data pada masing-masing kelas. Sedangkan untuk variabel bertipe numerik akan
memunculkan nilai minimum, Q1,Q2 (median), Q3, mean, dan maximum.
Untuk mendapatkan visualisasi dasar dari setiap variabel pada R bisa menggunakan perintah berikut
plot(data_intro$Jenis.Kelamin)
hist(data_intro$Pendapatan)
plot digunakan untuk variabel bertipe Factor - function ini menghasilkan grafik Bar Plot.
hist untuk variabel bertipe numerik seperti int - function ini menghasilkan grafik Histogram.
Tujuan dari plot dan hist adalah untuk mengetahui sebaran data.
Uji hipotesis adalah metode pengambilan keputusan yang didasarkan dari analisis data. Dalam
statistik dapat menguji sebuah hipotesis benar atau salah. Ada 2 jenis hipotesis yaitu hipotesis null
(hipotesis nihil) dan hipotesis alternatif. Hipotesis nihil (Ho) yaitu hipotesis yang berlawanan dengan
teori yang akan dibuktikan. Hipotesis alternatif (Ha) adalah hipotesis yang berhubungan dengan teori
yang akan dibuktikan.
Dalam melakukan pengujian statistik kita perlu menggunakan metode statistik uji, yang sering
digunakan yaitu z-test, t-test, chi-square test, dan f-test. Pada bab kali ini kita tidak akan membahas
detail dari setiap statistik uji diatas, tetapi kita akan fokus cara menggunakannya.
Selanjutnya kita harus paham mengenai p-value dan alpha yang akan digunakan dalam statistik uji.
P-value adalah peluang terkecil dalam menolak Ho. Sedangkan alpha adalah tingkat kesalahan. Nilai
alpha biasanya adalah 1%, 5%, dan 10%. Dalam prakteknya alpha 5% sering digunakan, karena lebih
moderat.
Hipotesis H0 ditolak jika nilai p-value kurang dari alpha (5%), sedangkan jika p-value lebih dari nilai
alpha maka yang H0 diterima. Untuk lebih jelasnya dapat dilihat gambar dibawah ini
Dalam statistik ada 2 jenis analisis data, yaitu statistik deskriptif dan statistik inferensi. Uji hipotesis,
yang dijelaskan pada subbab sebelumnya termasuk kedalam statistik inferensia.
Untuk membedakan antara 2 jenis analisis diatas, maka dapat menyimak penjelasan berikut:
Statistik Deskriptif adalah statistik yang digunakan untuk analisa data dengan cara menggambarkan
data sampel dengan tanpa membuat kesimpulan untuk data populasi. Beberapa hal yang dapat
dilakukan adalah penyajian data melalui tabel, grafik, perhitungan modus, median, mean,
perhitungan penyebaran data melalui perhitungan rata-rata dan standar deviasi. Statistik Deskriptif
digunakan untuk eksplorasi data.
Statistik Inferensia adalah yaitu statistik yang digunakan untuk menganalisis data sampel dan
hasilnya diberlakukan untuk populasi. Beberapa hal yang dapat dilakukan adalah menguji hipotesis
dengan statistik uji, seperti chi-square test, student-t test, f-test, z-score test.
Statistik Inferensia dapat digunakan untuk konfirmasi dari hasil statistik deskriptif.
Fungsi summary yaitu memberikan data summary dri variabel yang di inginkan contoh
Berdasarkan hasil kasus sebelumnya, kita akan melihat hubungan antara data numerik dan numerik.
Ada dua cara untuk melihat hubungan antar variabel, yaitu dengan grafik scatter plot dan analisis
korelasi. Grafik scatter plot untuk melihat arah hubungan, poisitif dan negatif. Sedangkan analisis
korelasi adalah untuk menguji/konfirmasi apakah kedua variabel tersebut memang berhubungan
dan sebearapa kuat hubungannya.
Rentang nilai koefisien korelasi antara -1 sampai 1. Korelasi kuat ketika mendakati -1 atau 1,
sedangkan dikatakan lemah jika mendekati 0. Untuk mengetahui ada hubungan atau tidaknya
menggunakan analisis korelasi, dengan hipotesis sebagai berikut
Untuk melakukan scatter plot pada R menggunakan perintah plot seperti berikut.
plot(data_intro$Pendapatan,data_intro$Total)
Variabel pertama yaitu data_intro$Pendapatan akan diplot untuk sumbu x,sedangkan variabel kedua
yaitu data_intro$Total untuk sumbu y.
cor.test(data_intro$Pendapatan,data_intro$Total)
> #Gunakan cor.test untuk mencari hubungan Pendapatan dengan Total Belanja
> cor.test(data_intro$Pendapatan,data_intro$Total)
Kita akan mengidentifikasi pola-pola yang terdapat pada suatu kolom data.
Dan membandingkannya dengan ekspektasi atau ukuran scientific yang
wajar, untuk menemukan data yang perlu diperbaiki.
Teknik profiling bisa dilakukan dengan banyak cara, namun yang pasti secara umum
akan menelusuri keseluruhan data.
Karena pola bisa banyak macam, kita akan memfokuskan profiling pada isi data
dengan pola teks sederhana namun cukup efektif.
Agar dapat dipraktekkan dengan riil, secara spesifik kita akan menggunakan function
dan operator berikut sepanjang bab ini.