TUTORIAL R for DATA SCIENCE - part 7: Beberapa Function Dasar dan Looping
Kali ini saya akan membahas terkait beberapa function dasar di R yang pasti berguna dan selalu dipakai.
Beberapa Fungsi yang Berguna
Paste
Apakah kalian mengetahui fungsi bernama CONCATENATE di Ms. Excel? Fungsi
paste()
mirip penggunaannya dengan perintah CONCATENATE, yakni menggabungkan beberapa data menjadi satu.
Contoh: membuat vector berisi nama_toko
yang berisi urutan nama
toko.
nama_toko = paste('toko ke',c(1:10),sep='-')
nama_toko
## [1] "toko ke-1" "toko ke-2" "toko ke-3" "toko ke-4" "toko ke-5"
## [6] "toko ke-6" "toko ke-7" "toko ke-8" "toko ke-9" "toko ke-10"
Contoh: membuat vector dari nama_toko
yang sudah pernah dibuat
sebelumnya dengan rules 5
toko pertama dari Bandung dan 5
toko
selanjutnya dari Bekasi.
nama_toko = paste(nama_toko,rep(c('Bandung','Bekasi'),5))
nama_toko
## [1] "toko ke-1 Bandung" "toko ke-2 Bekasi" "toko ke-3 Bandung"
## [4] "toko ke-4 Bekasi" "toko ke-5 Bandung" "toko ke-6 Bekasi"
## [7] "toko ke-7 Bandung" "toko ke-8 Bekasi" "toko ke-9 Bandung"
## [10] "toko ke-10 Bekasi"
sep =
berguna untuk mendefinisikan separator apa yang hendak
digunakan. Secara default, separator yang digunakan adalah spasi.
Coba kalian ganti sendiri bagian separator-nya.
Fungsi print()
digunakan untuk menampilkan data ke layar. Biasanya
digunakan pada proses looping agar hasil iterasi dapat tampil ke
layar.
print(nama_toko)
## [1] "toko ke-1 Bandung" "toko ke-2 Bekasi" "toko ke-3 Bandung"
## [4] "toko ke-4 Bekasi" "toko ke-5 Bandung" "toko ke-6 Bekasi"
## [7] "toko ke-7 Bandung" "toko ke-8 Bekasi" "toko ke-9 Bandung"
## [10] "toko ke-10 Bekasi"
str
Fungsi str()
digunakan untuk melihat tipe dan struktur object yang
ada di R. Sebagai contoh, kita akan pakai data absensi
dari
tulisan sebelumnya:
id = c(1:10)
nama = randomNames::randomNames(10,gender = 0,which.names = 'first')
tinggi_badan = sample(c(150:199),10,replace = F)
absensi = data.frame(id,nama,tinggi_badan)
Sebelumnya pastikan library(randomNames)
sudah ter-install yah.
Berikut adalah hasil str()
-nya:
str(absensi)
## 'data.frame': 10 obs. of 3 variables:
## $ id : int 1 2 3 4 5 6 7 8 9 10
## $ nama : chr "Wei" "Tyler" "Andrew" "Asghar" ...
## $ tinggi_badan: int 186 161 185 179 180 172 153 163 195 150
Terlihat bahwa data absensi
memiliki struktur data.frame dengan
ada 3
variables dan 10
observations (baris data).
Summary
Fungsi summary()
digunakan untuk melihat statistik deskriptif dari
suatu data (tergantung dari tipe datanya). Contoh:
summary(absensi$tinggi_badan)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 150.0 161.5 175.5 172.4 183.8 195.0
Class
Fungsi class()
digunakan untuk melihat tipe atau struktur dari suatu
data. Mirip dengan fungsi str()
, tapi tidak sampai menampilkan dengan
detail. Contoh:
class(absensi)
## [1] "data.frame"
class(absensi$tinggi_badan)
## [1] "integer"
Looping
Looping berarti pengulangan namun berbeda dengan repeat yang pernah
kita bahas sebelumnya. Ada dua fungsi looping yang biasa digunakan,
yakni: for()
dan while()
. Keduanya memiliki manfaat yang berbeda.
For
Fungsi for()
biasa dilakukan untuk melakukan looping dengan syarat
iterasi yang didefinisikan terlebih dahulu. Jadi kita sudah mengetahui
terlebih dahulu berapa kali kita akan melakukan looping.
Contoh:
for(i in 1:10){
print(paste('pertanyaan ke',i))
}
## [1] "pertanyaan ke 1"
## [1] "pertanyaan ke 2"
## [1] "pertanyaan ke 3"
## [1] "pertanyaan ke 4"
## [1] "pertanyaan ke 5"
## [1] "pertanyaan ke 6"
## [1] "pertanyaan ke 7"
## [1] "pertanyaan ke 8"
## [1] "pertanyaan ke 9"
## [1] "pertanyaan ke 10"
Contoh:
for(i in 1:10){
i = 1/i
print(round(i,3))
}
## [1] 1
## [1] 0.5
## [1] 0.333
## [1] 0.25
## [1] 0.2
## [1] 0.167
## [1] 0.143
## [1] 0.125
## [1] 0.111
## [1] 0.1
While
Fungsi while()
digunakan untuk melakukan looping dengan sampai
syarat iterasi terpenuhi. Jadi kita belum mengetahui berapa kali kita
akan melakukan looping.
Contoh: misalkan dalam satu ruangan ada 100
orang. Saya akan membagi
mereka menjadi kelompok - kelompok berisi 1
sampai 5
orang. Kira -
kira ada berapa banyak kelompok yang bisa saya dapatkan?
Caranya, kita set dulu kondisi awalnya.
orang = 100
i = 0 # berapa banyak kelompok? awalnya nol dulu
Lalu kita buat iterasi dengan while()
. Yakni mengurangi secara berkala
100
orang dengan kelompok berisi 1
- 3
orang lalu menghitung ada
berapa banyak iterasi yang terjadi.
while(orang>0){
n = sample(c(1:5),1)
orang = orang - n
i = i+1
}
Berapa banyak iterasi (kelompok) yang mungkin muncul:
i
## [1] 31
to be continued
if you find this article helpful, support this blog by clicking the
ads.