Chapter 2 Kalkulasi Menggunakan R

Pada Chapter ini penulis akan menjelaskan bagaimana melakukan perhitungan menggunakan R. Hal-hal yang akan dibahas pada chapter ini antara lain:

  • Operator dan fungsi dasar pada R
  • Jenis dan struktur data
  • Vektor (cara membuat dan melakukan operasi matematika pada vektor)
  • Matriks (cara membuat dan melakukan operasi matematika pada matriks)

2.1 Operator Aritmatik

Proses perhitungan akan ditangani oleh fungsi khusus. R akan memahami urutannya secara benar. Kecuali kita secara eksplisit menetapkan yang lain. Sebagai contoh jalankan sintaks berikut:

## [1] 10

Bandingkan dengan sintaks berikut:

## [1] 12

Tips: R dapat digunakan sebagai kalkulator

Berdasarkan kedua hasil tersebut dapat disimpulkan bahwa ketika kita tidak menetapkan urutan perhitungan menggunakan tanda kurung, R akan secara otomatis akan menghitung terlebih dahulu perkalian atau pembangian.

Operator aritmatika yang disediakan R disajikan pada Tabel 2.1:

Tabel 2.1: Operator Aritmatika R.
Simbol Keterangan
+ 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

Untuk lebih memahaminya berikut contoh sintaks penerapan operator tersebut.

## [1] 8
## [1] 2
## [1] 15
## [1] 1.667
## [1] 125
## [1] 2
## [1] 1

Tips: Pada R tanda # berfungsi menambahkan keterangan untuk menjelaskan sebuah sintaks pada R

2.2 Fungsi Aritmetik

Selain fungsi operator aritmetik, pada R juga telah tersedia fungsi aritmetik yang lain seperti logaritmik, ekponensial, trigonometri, dll.

  1. Logaritma dan eksponensial

Untuk contoh fungsi logaritmik dan eksponensial jalankan sintaks berikut:

## [1] 3
## [1] 0.9031
## [1] 2981
  1. Fungsi trigonometri

fungsi trigonometri yang ditampilkan seperti sin,cos, tan, dll.

Penting!!!

x dalam fungsi trigonometri memiliki satuan radian

Berikut adalah salah satu contoh penggunaannya:

## [1] -1

Pada Paket pracma fungsi-fungsi trigonometri dapat ditambah lagi. Fungsi-fungsi tersebut antara lain:

  1. Fungsi Hiperbolik

fungsi hiperbolik yang tersedia antara lain:

Fungsi tersebut dapat ditambah lagi dari Paket pracma. Fungsi-fungsi yang tersedia antara lain:

  1. Fungsi matematik lainnya

Fungsi lainnya yang dapat digunakan adalah fungsi absolut, akar kuadrat, dll. Berikut adalah contoh sintaks penggunaan fungsi absolut dan akar kuadrat.

## [1] 2
## [1] 2

2.3 Operator Relasi

Operator relasi digunakan untuk membandingkan satu objek dengan objek lainnya. Operator yang disediakan R disajikan pada Tabel 2.2.

Tabel 2.2: Operator Relasi R.
Simbol Keterangan
“>” 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:

## [1] FALSE
## [1] TRUE
## [1] FALSE
## [1] FALSE
## [1] TRUE
## [1] TRUE

2.4 Operator Logika

Operator logika hanya berlaku pada vektor dengan tipe logical, numeric, atau complex. Semua angka bernilai 1 akan dianggap bernilai logika TRUE. Operator logika yang disediakan R dapat dilihat pada Tabel 2.3.

Tabel 2.3: Operator logika R.
Simbol Keterangan
“&&” Operator logika AND
"
“!” Opeartor logika NOT
“&” Operator logika AND element wise
" "

Penerapannya terdapat pada sintaks berikut:

## [1] FALSE
## [1] TRUE
## [1] FALSE FALSE  TRUE
## [1] FALSE FALSE FALSE
## [1]  TRUE  TRUE FALSE

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.

2.5 Memasukkan Nilai Kedalam Variabel

Variabel pada R dapat digunakan untuk menyimpan nilai. Sebagai contoh jalankan sintaks berikut:

Penting!!!

  1. R memungkinkan penggunaan <-,->, atau = sebagai perintah pengisi nilai variabel
  2. R bersifat case-sensitive. Maksudnya adalah variabel Lemon tidak sama dengan lemon (Besar kecil huruf berpengaruh)

Untuk mengetahui nilai dari objek lemon kita dapat menggunakan fungsi print() atau mengetikkan nama objeknya secara langsung.

## [1] 500
## [1] 500

R akan menyimpan variabel lemon sebagai objek pada memori. Sehingga kita dapat melakukan operasi terhadap objek tersebut seperti mengalikannya atau menjumlahkannya dengan bilangan lain. Sebagai contoh jalankan sintaks berikut:

## [1] 2500

Kita dapat juga mengubah nilai dari objek lemon dengan cara menginput nilai baru terhadap objek yang sama. R secara otomatis akan menggatikan nilai sebelumnya. Untuk lebih memahaminya jalankan sintaks berikut:

## [1] 1000

Untuk lebih memahaminya berikut adalah sintaks untuk menghitung volume suatu objek.

## [1] 250

Untuk mengetahui objek apa saja yang telah kita buat sepanjang artikel ini kita dapang menggunakan fungsi ls().

##  [1] "A"         "B"         "img1_path" "lebar"    
##  [5] "lemon"     "panjang"   "t"         "tinggi"   
##  [9] "v"         "volume"    "x"         "xm"       
## [13] "y"

Catatan: Kumpulan objek yang telah tersimpan dalam memori disebut sebagai workspace

Untuk menghapus objek pada memori kita dapat menggunakan fungsi rm(). Pada sintaks berikut penulis hendak menghapus objek lemon dan volume.

##  [1] "A"         "B"         "img1_path" "lebar"    
##  [5] "panjang"   "t"         "tinggi"    "v"        
##  [9] "x"         "xm"        "y"

Tips: Setiap variabel atau objek yang dibuat akan menempati sejumlah memori pada komputer sehingga jika kita bekerja dengan jumlah data yang banyak pastikan kita menghapus seluruh objek pada memori sebelum memulai kerja.

2.6 Tipe dan Struktur Data

Data pada R dapat dikelompokan berdasarkan beberapa tipe. Tipe data pada R disajikan pada Tabel 2.4.

Tabel 2.4: Tipe data R.
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

Sintaks berikut adalah contoh dari tipe data pada R. Untuk mengetahui tipa data suatu objek kita dapat menggunakan perintah class()

## [1] "logical"
## [1] "numeric"
## [1] "integer"
## [1] "complex"
## [1] "character"
## [1] "raw"

Keenam jenis data tersebut disebut sebagai tipe data atomik. Hal ini disebabkan karena hanya dapat menangani satu tipe data saja. Misalnya hanya numeric atau hanya integer.

Selain menggunakan fungsi class(), kita dapat pula menggunakan fungsi is_numeric(), is.character(), is.logical(), dan sebagainya berdasarkan jenis data apa yang ingin kita cek. Berbeda dengan fungsi class(), ouput yang dihasilkan pada fungsi seperti is_numeric() adalah nilai Boolean sehingga fungsi ini hanya digunakan untuk mengecek apakah jenis data pada objek sama seperti yang kita pikirkan. Sebagai contoh disajikan pada sintaks berikut:

## [1] TRUE
## [1] FALSE

Kita juga dapat mengubah jenis data menjadi jenis lainnya seperti integer menjadi numerik atau sebaliknya. Fungsi yang digunakan adalah as.numeric() jika ingin mengubah suatu jenis data menjadi numerik. Fungsi lainnya juga dapat digunakan sesuai dengan kita ingin mengubah jenis data objek menjadi jenis data lainnya.

## [1] 2
## [1] TRUE
## [1] 1
## Warning: NAs introduced by coercion
## [1] NA

Penting!!!

Konversi karakter menjadi numerik akan menghasilkan output NA (not available). R tidak mengetahui bagaimana cara merubah karakter menjadi bentuk numerik.

Berdasarkan Tabel 2, vektor karakter dapat dibuat menggunakan tanda kurung baik double quote ("") maupun single quote (’’).Jika pada teks yang kita tuliskan mengandung quote maka kita harus menghentikannya menggunakan tanda (  ). Sbegai contoh kita ingin menuliskan `My friend’s name is “Adi”, pada sintaks akan dituliskan:

## [1] "My friend`s name is \"Adi\""
## [1] "My friend's name \"Adi\""

Struktur data diklasifikasikan berdasarkan dimensi data dan tie data di dalamnya (homogen atau heterogen). Klasifikasi jenis data disajikan pada Tabel 2.5.

Tabel 2.5: Struktur data R.
Dimensi Homogen Heterogen
1d Atomik vektor List
2d Matriks Dataframe
nd Array

Berdasarkan Tabel tersebut dapat kita lihat bahwa 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.

2.7 Vektor

Vektor merupakan kombinasi berbagai nilai (numerik, karakter, logical, dan sebagainya berdasarkan jenis input data) pada objek yang sma. Pada contoh kasus berikut, pembaca akan memiliki sesuai jenis data input yaituvektor numerik, vector karakter, vektor logical, dll.

2.7.1 Membuat vektor

Vektor dibuat dengan menggunakan fungsi c()(concatenate) seperti yang disajikan pada sintaks berikut:

## [1] 3.0 3.5 4.0 7.0
## [1] "Apel"     "Jeruk"    "Rambutan" "Salak"
## [1] "TRUE"  "FALSE" "TRUE"

selain menginput nilai pada vektor, kita juga dapat memberi nama nilai setiap vektor menggunakan fungsi names().

##     Apel    Jeruk Rambutan    Salak 
##        5        5        6        7

Penting!!!

Vektor hanya dapat memuat satu buah jenis data. Vektor hanya dapat mengandung jenis data numerik saja, karakter saja, dll.

Untuk menentukan panjang sebuah vektor kita dapat menggunakan fungsi lenght().

## [1] 4

2.7.2 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.

Untuk mengecek apakah dalam objek terdapat missing value dapat menggunakan fungsi is.na(). ouput dari fungsi tersebut adalah nilai Boolean. Jika terdapat Missing value, maka output yang dihasilkan akan memberikan nilai TRUE.

##     Apel    Jeruk Rambutan    Salak 
##    FALSE     TRUE    FALSE    FALSE

Penting!!!

  1. Selain NA terdapat NaN (not a number) sebagai missing value8. Nilai tersebut muncul ketika fungsi matematika yang digunakan pada proses perhitungan tidak bekerja sebagaimana mestinya. Contoh: 0/0 = NaN
  2. is.na() juga akan menghasilkan nilai TRUE pada NaN. Untuk membedakannya dengan NA dapat digunakan fungsi is.nan().

2.7.3 Subset Pada Vektor

Subseting vector terdiri atas tiga jenis, yaitu: positive indexing, Negative Indexing, dan .

  • Positive indexing: memilih elemen vektor berdasarkan posisinya (indeks) dalam kurung siku.
## Jeruk 
##    NA
## Jeruk Salak 
##    NA     7

Selain melalui urutan (indeks), kita juga dapat melakukan subset (membuat himpunan bagian) berdasarkan nama elemen vektornya.

## Jeruk 
##    NA

Penting!!!

Indeks pada R dimulai dari 1. Sehingga kolom atau elemen pertama vektor dimulai dari [1]

  • Negative indexing: mengecualikan (exclude) elemen vektor.
##     Apel Rambutan 
##        5        6
## Salak 
##     7
  • 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.

##     Apel Rambutan 
##        5        6
##     Apel Rambutan    Salak 
##        5        6        7

2.7.4 Operasi Matematis Menggunakan Vektor

Jika pembaca melakukan operasi dengan vektor, operasi akan diterapkan ke setiap elemen vektor. Contoh disediakan pada sintaks di bawah ini:

## Andi Joni Lina Rani 
## 2000 1800 2500 3000
## Andi Joni Lina Rani 
## 6000 5400 7500 9000

Seperti yang dapat dilihat, R mengalikan setiap elemen dengan bilangan pengali.

Kita juga dapat mengalikan vektor dengan vektor lainnya.Contohnya disajikan pada sintaks berikut:

## Andi Joni Lina Rani 
## 4000 2700 2500 9000

Berdasarkan sintaks tersebut dapat terlihat bahwa operasi matematik terhadap masing-masing vektor dapat berlangsung jika panjang vektornya sama.

Berikut adalah fungsi lain yang dapat digunakan pada operasi matematika vektor.

Contoh penggunaan fungsi tersebut disajikan beberapa pada sintaks berikut:

## [1] 1800 3000
## [1] 2325
## [1] 537.7

2.7.5 Membuat Deret Angka

Secara sederhana vektor merupakan deret angka. Vektor bisa jadi berupa data yang kita miliki atau sengaja kita buat untuk tujuan simulasi matematika. Urutan angka-angka ini bisa memiliki interval konstan, contoh: titik waktu pada analisis reaksi kimia, atau dapat pula intervalnya bersifat acak seperti pada simulasi Monte Carlo.

2.7.5.1 Regular Sequences

Operator colon (“:”) dapat digunakan untuk membuat sequence vector. Operator tersebut berfungsi sebagai pemisah antara nilai awal dan akhir deret bilangan. Interval nilai sequence yang terbentuk adalah `. Berikut adalah contoh bagaimana cara membuat sequence vector menggunakan operator colon:

##  [1]  1  2  3  4  5  6  7  8  9 10
##  [1] 10  9  8  7  6  5  4  3  2  1  0 -1

Perlu diperhatikan bahwa dalam aplikasinya operator colon memiliki prioritas tinggi untuk dilakukan komputasi terlebih dahulu dibandingkan operator matematika. Perhatikan sintaks berikut:

##  [1] 0 1 2 3 4 5 6 7 8 9
## [1] 1 2 3 4 5 6 7 8 9

Jika kita menginginkan interval antar angka selain 1, kita dapat menggunakan fungsi seq(). Format sintaks tersebut adalah sebagai berikut:

Catatan:

  • from, to: angka awal dan akhir atau nilai maksimum dan minimum deret bilangan yang diinginkan.
  • by: interval antar nilai

Misalkan kita akan membuat deret bilangan dari 3 sampai 8 dengan interval antar deret sebesar 0,5. Berikut adalah sintaks yang digunakan:

##  [1] 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

2.7.6 Nilai Berulang

Fungsi rep() dapat digunakan untuk membuat deret dengan nilai berulang. Format fungsi tersebut adalah sebagai berikut:

Catatan:

  • x: nilai yang hendak dibuat berulang.
  • times: jumlah pengulangan.
  • each: argumen tambahan yang menentukan jumlah masing-masing elemen vektor akan dicetak.
## [1] 5 5 5 5 5
## [1] 5 6 5 6 5 6
## [1] 5 5 5 6 6 6

2.7.7 Deret Bilangan Acak

Deret bilangan acak biasanya banyak digunakan dalam sebuah simulasi. R menyediakan fungsi untuk memproduksi bilangan-bilangan acak tersebut berdasarkan distribusi tertentu. Berikut adalah tabel rangkuman nama distribusi, fungsi, dan argumen yang digunakan:

Tabel 2.6: Ringkasan Fungsi dan Argumen Distribusi Probabilitas.
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) nn = 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

Berikut adalah contoh pembuatan vektor menggunakan bilangan acak berdistribusi normal:

## [1] 0.317 1.317 2.317 3.317 4.317 5.317

2.8 Matriks

Matriks seperti Excel sheet yang berisi banyak baris dan kolom (kumpulan bebrapa vektor). Matriks digunakan untuk menggabungkan vektor dengan tipe yang sama, yang bisa berupa numerik, karakter, atau logis. Matriks digunakan untuk menyimpan tabel data dalam R. Baris-baris matriks pada umumnya adalah individu / pengamatan dan kolom adalah variabel.

2.8.1 Membuat matriks

Untuk membuat matriks kita dapat menggunakan fungsi cbind() atau rbind(). Berikut adalah contoh sintaks untuk membuat matriks.

##      col1 col2 col3
## [1,]    5    2    7
## [2,]    6    4    3
## [3,]    7    5    4
## [4,]    8    9    8
## [5,]    9    8    7
##      col1 col2 col3
## row1    5    2    7
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7

Catatan:

  • cbind(): menggabungkan objek R berdasarkan kolom
  • rbind(): menggabungkan objek R berdasarkan baris
  • rownames(): mengambil atau menetapkan nama-nama baris dari objek seperti-matriks
  • colnames(): mengambil atau menetapkan nama-nama kolom dari objek seperti-matriks ```

Kita dapat melakukan tranpose (merotasi matriks sehingga kolom menjadi baris dan sebaliknya) menggunakan fungsi t(). Berikut adalah contoh penerapannya:

##      row1 row2 row3 row4 row5
## col1    5    6    7    8    9
## col2    2    4    5    9    8
## col3    7    3    4    8    7

Selain melalui pembentukan sejumlah objek vektor, kita juga dapat membuat matriks menggunakan fungsi matrix(). Secara sederhana fungsi tersebut dapat dituliskan sebagai berikut:

Catatan:

  • data: vektor data opsional
  • nrow, ncol: jumlah baris dan kolom yang diinginkan, masing-masing.
  • byrow: nilai logis. Jika FALSE (default) matriks diisi oleh kolom, jika tidak, matriks diisi oleh baris.
  • dimnames: Daftar dua vektor yang memberikan nama baris dan kolom masing-masing. ```

Dalam kode R di bawah ini, data input memiliki panjang 6. Kita ingin membuat matriks dengan dua kolom. Kita tidak perlu menentukan jumlah baris (di sini nrow = 3). R akan menyimpulkan ini secara otomatis. Matriks diisi kolom demi kolom saat argumen byrow = FALSE. Jika kita ingin mengisi matriks dengan baris, gunakan byrow = TRUE. Berikut adalah contoh pembuatan matriks menggunakan fungsi matrix().

##      C.1 C.2 C.3
## row1   1   2   3
## row2  11  12  13

Untuk mengetahui dimensi dari suatu matriks, kita dapat menggunakan fungsi ncol() untuk mengetahui jumlah kolom matriks dan nrow() untuk mengetahui jumlah baris pada matriks. Berikut adalah contoh penerapannya:

## [1] 3
## [1] 5

Jika ingin memperoleh ringkasan terkait dimensi matriks kita juga dapat mengunakan fungsi dim() untuk mengetahui jumlah baris dan kolom matriks. Berikut adalah contoh penerapannya:

## [1] 5 3

2.8.2 Subset Pada Matriks

Sama dengan vektor, subset juga dapat dilakukan pada matriks. Bedanya subset dilakukan berdasarkan baris dan kolom pada matriks.

  • Memilih baris/kolom berdasarkan pengindeksan positif

baris atau kolom dapat diseleksi menggunakan format data[row, col]. Cara selesi ini sama dengan vektor, bedanya kita harus menetukan baris dan kolom dari data yang akan kita pilih. Berikut adalah contoh penerapannya:

## col1 col2 col3 
##    6    4    3
##      col1 col2 col3
## row2    6    4    3
## row3    7    5    4
## row4    8    9    8
##      col1 col2 col3
## row2    6    4    3
## row4    8    9    8
## [1] 3
  • Pilih berdasarkan nama baris/kolom

Berikut adalah contoh subset berdasarkan nama baris atau kolom.

## [1] 7
## row1 row2 row3 
##    7    3    4
  • Kecualikan baris/kolom dengan pengindeksan negatif

Sama seperti vektor pengecualian data dapat dilakukan di matriks menggunakan pengindeksan negatif. Berikut cara melakukannya:

##      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:

##      col1 col2 col3
## row1    5    2    7
## row3    7    5    4
## row4    8    9    8
## row5    9    8    7

2.8.3 Perhitungan Menggunakan Matriks

_ Kita juga dapat melakukan operasi matematika pada matriks. Pada operasi matematika pada matriks proses yang terjadi bisa lebih kompleks dibanding pada vektor, dimana kita dapat melakukan operasi untuk memperoleh gambaran data pada tiap kolom atau baris.

Berikut adalah contoh operasi matematika sederhana pada matriks:

##      col1 col2 col3
## row1   10    4   14
## row2   12    8    6
## row3   14   10    8
## row4   16   18   16
## row5   18   16   14
##       col1  col2  col3
## row1 2.322 1.000 2.807
## row2 2.585 2.000 1.585
## row3 2.807 2.322 2.000
## row4 3.000 3.170 3.000
## row5 3.170 3.000 2.807

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.

## col1 col2 col3 
##   35   28   29
## row1 row2 row3 row4 row5 
##   14   13   16   25   24

Jika kita tertarik untuk mencari nilai rata-rata tiap baris arau kolom kita juga dapat menggunakan fungsi rowMeans() atau colMeans(). Berikut adalah contoh penerapannya:

##  row1  row2  row3  row4  row5 
## 4.667 4.333 5.333 8.333 8.000
## col1 col2 col3 
##  7.0  5.6  5.8

Kita juga dapat melakukan perhitungan statistika lainnya menggunakan fungsi apply(). Berikut adalah format sederhananya:

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

untuk mengetahui fungsi (FUN) apa saja yang dapat diterapkan pada fungsi apply() jalankan sintaks bantuan berikut:

Berikut adalah contoh penerapannya:

##  row1  row2  row3  row4  row5 
## 4.667 4.333 5.333 8.333 8.000
## col1 col2 col3 
##    7    5    7

Perhitungan lainnya tidak akan dibahas pada chapter ini. Operasi matriks lebih lengkap selanjutnya akan dibahas pada chapter selanjutnya.

2.9 Referensi

  1. Bloomfield, V.A. 2014. Using R for Numerical Analysis in Science and Engineering. CRC Press
  2. Primartha, R. 2018. Belajar Machine Learning Teori dan Praktik. Penerbit Informatika : Bandung.
  3. Rosadi,D. 2016. Analisis Statistika dengan R. Gadjah Mada University Press: Yogyakarta.
  4. STHDA. Easy R Programming Basics. http://www.sthda.com/english/wiki/easy-r-programming-basics
  5. The R Core Team. 2018. R: A Language and Environment for Statistical Computing. R Manuals.
  6. Venables, W.N. Smith D.M. and R Core Team. 2018. An Introduction to R. R Manuals.