Universitas : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Pada Chapter ini penulis akan menjelaskan bagaimana melakukan perhitungan menggunakan R. Hal-hal yang akan dibahas pada chapter ini antara lain:
Operator aritmatika yang disediakan R, yaitu :
+ : Addition, untuk operasi penjumlahan
- : Substraction, untuk operasi pengurangan
* : Multiplication, untuk operasi pembagian
/ : Division, untuk operasi pembagian
^ : Eksponentiation, untuk operasi pemangkatan
%%: Modulus, Untuk mencari sisa pembagian
%/%: Integer, Untuk mencari bilangan bulat hasil pembagian saja dan tanpa sisa pembagian
Tips: Pada R tanda # berfungsi menambahkan keterangan untuk menjelaskan sebuah sintaks pada R
log2(8) # logaritma basis 2 untuk 8
## [1] 3
cos(x) # cos x
sin(x) # Sin x
tan(x) # Tan x
acos(x) # arc-cos x
asin(x) # arc-sin x
atan(x) #arc-tan x
Untuk paket pracma ditambah :
cot(x) # cotan x
csc(x) # cosecan x
sec(x) # secan x
acot(x) # arc-cotan x
acsc(x) # arc-cosecan x
asec(x) # arc-secan x
Penting!
X dalam fungsi trigonometri memiliki satuan radian.
cosh(x)
sinh(x)
tanh(x)
acosh(x)
asinh(x)
atanh(x)
Untuk paket pracma ditambah :
coth(x)
csch(x)
sech(x)
acoth(x)
acsch(x)
asech(x)
abs(-2) # nilai absolut -2
## [1] 2
sqrt(4) # akar kuadrat 4
## [1] 2
Operator relasi digunakan untuk membandingkan satu objek dengan objek lainnya. Operator yang disediakan R, yaitu :
“>” : Lebih besar dari
“<” : Lebih Kecil dari
“==” : Sama dengan
“>=” : Lebih besar sama dengan
“<=” : Lebih kecil sama dengan
“!=” : Tidak sama dengan
Berikut adalah penerapan operator pada tabel tersebut:
x <- 34
y <- 35
# Operator >
x > y
## [1] FALSE
# Operator <
x < y
## [1] TRUE
# operator ==
x == y
## [1] FALSE
# Operator >=
x >= y
##[1] FALSE
# Operator <=
x <= y
## [1] TRUE
# Operator !=
x != y
# [1] TRUE
Operator logika yang disediakan R, yaitu :
&& : Operator logika AND
! : Operator logika NOT
& : Operator logika AND element wise
Penting!
operator & dan | akan mengecek logika tiap elemen pada vektor secara berpesangan (sesuai urutan dari kiri ke kanan). Operator %% dan || hanya mengecek dari kiri ke kanan pada observasi pertama. Misal saat menggunakan && jika observasi pertama TRUE maka observasi pertama pada vektor lainnya akan dicek, namun jika observasi pertama FALSE maka proses akan segera dihentikan dan menghasilkan FALSE.
Penting!
R memungkinkan penggunaan <- , -> , atau = sebagai perintah pengisi nilai variabel.
R bersifat case-sensitive. Maksudnya adalah besar kecil huruf berpengaruh.
# Harga sebuah lemon adalah 500 rupiah
lemon <- 500
# Atau
500 -> lemon
# dapat juga menggunakan tanda "="
lemon = 500
# Menggunakan fungsi print()
print(lemon)
## [1] 500
# Atau
lemon
## [1] 500
Untuk lebih memahaminya berikut adalah sintaks untuk menghitung volume suatu objek.
# Dimensi objek
panjang <- 10
lebar <- 5
tinggi <- 5
# Menghitung volume
volume <- panjang*lebar*tinggi
# Print objek volume
print(volume)
## [1] 250
Untuk menghapus objek pada memori kita dapat menggunakan fungsi rm() . Pada sintaks berikut penulis hendak menghapus objek lemon dan volume .
Catatan: Kumpulan objek yang telah tersimpan dalam memori disebut sebagai workspace```
# Menghapus objek lemon dan volume
rm(lemon, volume)
Tipe data R, yaitu:
| Tipe Data | Contoh | Keterangan |
|---|---|---|
| Logical | TRUE, FALSE | Nilai Boolean |
| Numeric | 12.3, 5, 999 | Segala jenis angka |
| Integer | 23L, 97L, 3L | Bilangan integer (bilangan bulat) |
| Complex | 2i, 3i, 9i | Bilangan kompleks |
| Character | ‘a’, “b”, “123” | Karakter dan string Factor 1, 0, “Merah” Dapat berupa numerik atau string namun pada proses akan terbaca sebagai angka |
| Raw | Identik dengan “hello” | Segala jenis data yang disimpan sebagai raw bytes |
Struktur data diklasifikasikan berdasarkan dimensi data dan tie data di dalamnya (homogen atau heterogen). Objek terbagi atas dua buah struktur data yaitu homogen dan heterogen. Objek dengan struktur data homogen hanya dapat menyimpan satu tipe atau jenis data saja (numerik saja atau factor saja), sedangkan objek dengan struktur data heterogen akan dapat menyimpan berbagai jenis data.
Membuat vektor
Menggunakan fungsi c() (concatenate).
Memberi nama nilai setiap vektor menggunakan fungsi names().
Untuk menentukan panjang sebuah vektor kita dapat menggunakan fungsi lenght().
Penting!
Vektor hanya dapat memuat satu buah jenis data. Vektor hanya dapat mengandung jenis data numerik saja, karakter saja, dll.
Missing Values
Seringkali nilai pada vektor kita tidak lengkap atau terdapat nilai yang hilang (missing value) pada vektor. Missing value pada R dilambangkan oleh NA (not available). Berikut adalah contoh vektor dengan missing value.
Jumlah <- c(Apel=5, Jeruk=NA, Rambutan=6, Salak=7)
Subset Pada Vektor
Subseting vector terdiri atas tiga jenis, yaitu:
Positive indexing: memilih elemen vektor berdasarkan posisinya (indeks) dalam kurung siku.
Negative indexing: mengecualikan (exclude) elemen vektor.
Subset berdasarkan vektor logical: Hanya, elemen-elemen yang nilai yang bersesuaian dalam vektor pemilihan bernilai TRUE, akan disimpan dalam subset.
Penting!
Panjang vektor yang digunakan untuk subset harus sama.
Operasi Matematis Menggunakan Vektor
Contoh disediakan pada sintaks di bawah ini:
pendapatan <- c(2000, 1800, 2500, 3000) names(pendapatan) <- c(“Andi”, “Joni”, “Lina”, “Rani”) pendapatan
## Andi Joni Lina Rani
## 2000 1800 2500 3000
# Kalikan pendapatan dengan 3
pendapatan*3
## Andi Joni Lina Rani
## 6000 5400 7500 9000
Seperti yang dapat dilihat, R mengalikan setiap elemen dengan bilangan pengali.
Berikut adalah fungsi lain yang dapat digunakan pada operasi matematika vektor:
max(x) # memperoleh nilai maksimum x
min(x) # memperoleh nilai minimum x
range(x) # memperoleh range vektor x
length(x) # memperoleh jumlah vektor x
sum(x) # memperoleh total penjumlahan vektor x
prod(x) # memeperoleh produk elemen vektor x
mean(x) # memperoleh nilai mean vektor x
sd(x) # standar deviasi vektor x
var(x) # varian vektor x
sort(x) # mengurutkan elemen vektor x dari yang terbesar
Membuat Deret Angka
Dengan menggunakan Regular Sequences.
Contoh :
# vektor benilai 1 s/d 10
1:10
## [1] 1 2 3 4 5 6 7 8 9 1
Nilai Berulang
Contoh :
# cetak angka 5 sebanyak 5 kali
rep(x=5, times=5)
## [1] 5 5 5 5 5
| Distribusi | Fungsi | Argumen |
|---|---|---|
| Beta | rbeta(n,shape1, shape2,ncp = 0) | n = jumlah observasi; shape1,shape2 = parameter non-negatif distribusi beta; ncp = non-centrality parameter |
| Binomial | rbinom(n,size, prob) | n = jumlah observasi; prob = probabilitas sukses;size = jumlah percobaan |
| Cauchy | rcauchy(n,location = 0,scale = 1) | n = jumlah observasi; location, scale = parameter lokasi dan skala distribusi Cauchy |
| Chi-Square | rchisq(n, df, ncp = 0) | n = jumlah observasi; df = derajat kebebasan; ncp = non-centrality parameter |
| Exponensial | rexp(n, rate = 1) | n = jumlah observasi; rate = vektor parameter rate |
| F | rf(n, df1, df2, ncp) | n = jumlah observasi; df1, df2 = derajat kebebasan;ncp = non-centrality parameter |
| Gamma | rgamma(n, shape, rate = 1, scale =1/rate) | n = jumlah observasi; shape, scale = parameter shape dan scale; rate = alternatif lain argumen rate |
| Geometri | rgeom(n, prob) | n = jumlah observasi; prob = probabilitas sukses |
| Hipergeometri | rhyper(nn, m, n, k) | n = jumlah observasi; m = jumlah bola putih dalam wadah; n = jumlah bola hitam dalam wadah; k = jumlah pengambilan |
| Log-normal | rlnorm(n, meanlog = 0, sdlog = 1) | n = jumlah observasi; meanlog, sdlog = nilai mean dan simpangan baku dalam skala logaritmik |
| Negatif Binomial | rnbinom(n, size, prob, mu) | n = jumlah observasi; size = target jumlah percobaan sukses pertama kali; prob = probabilitas sukses; mu = parameterisasi alternatif melalui mean |
| Normal | rnorm(n, mean = 0, sd = 1) | n = jumlah observasi; mead, sd = nilai mean dan simpangan baku |
| Poisson | rpois(n, lambda) | n = jumlah observasi; lambda = vektor nilai mean |
| Student t | rt(n, df, ncp) | n = jumlah observasi; df = derajat kebebasan; ncp = non-centrality parameter |
| Uniform | runif(n, min = 0, max = 1) | n = jumlah observasi; min, max = nilai maksimum dan minimum distribusi |
| Weibull | rweibull(n, shape, scale = 1) | n = jumlah observasi; shape, scale = parameter shape dan scale |
Matriks digunakan untuk menyimpan tabel data dalam R.
Membuat matriks
# membuat vektor numerik
col1 <- c(5, 6, 7, 8, 9)
col2 <- c(2, 4, 5, 9, 8)
col3 <- c(7, 3, 4, 8, 7)
# menggabungkan vektor berdasarkan kolom
my_data <- cbind(col1, col2, col3)
my_data
# menggunakan fungsi matrix()
data <- matrix(
data = c(1,2,3, 11,12,13),
nrow = 2, byrow = TRUE,
dimnames = list(c(“row1”, “row2”),
c(“C.1”, “C.2”, “C.3”))
)
data
Subset Pada Matriks
Memilih baris/kolom berdasarkan pengindeksan positif
# Pilih baris ke-2
my_data[2,]
## col1 col2 col3
## 6 4 3
Memilih berdasarkan nama baris/kolom
# Pilih baris 1 dan kolom 3
my_data[“row1”,“col3”]
## [1] 7
Kecualikan baris/kolom dengan pengindeksan negatif
# Kecualikan baris 2 dan 3 serta kolom 3
my_data[-c(2,3), -3]
## col1 col2
## row1 5 2
## row4 8 9
## row5 9 8
Pilihan dengan logik
Dalam kode R di bawah ini, misalkan kita ingin hanya menyimpan baris di mana col3> = 4:
col3 <- my_data[, “col3”]
my_data[col3 >= 4, ]
## col1 col2 col3
## row1 5 2 7
## row3 7 5 4
## row4 8 9 8
## row5 9 8 7
Perhitungan Menggunakan Matriks
Berikut adalah contoh operasi matematika sederhana pada matriks:
# mengalikan masing-masing elemen matriks dengan 2
my_data*2
## col1 col2 col3
## row1 10 4 14
## row2 12 8 6
## row3 14 10 8
## row4 16 18 16
## row5 18 16 14
Seperti yang telah penulis jelaskan sebelumnya, kita juga dapat melakukan operasi matematika untuk memperoleh hasil penjumlahan elemen pada tiap baris atau kolom dengan menggunakan fungsi rowSums() untuk baris dan colSums() untuk kolom.
Kita juga bisa menggunakan fungsi rowSums() untuk baris dan colSums() untuk kolom. Jika kita tertarik untuk mencari nilai rata-rata tiap baris arau kolom kita juga dapat menggunakan fungsi rowMeans() atau colMeans(). Kita juga dapat melakukan perhitungan statistika lainnya menggunakan fungsi apply().
Catatan:
x : data matriks
MARGIN : Nilai yang dapat digunakan adalah 1 (untuk operasi pada baris) dan 2 (untuk operasi pada kolom)
FUN : fungsi yang diterapkan pada baris atau kolom