Universitas : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

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

1. Membuat vektor

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

# membuat vektor numerik
x <- c(3,3.5,4,7)
x # print vektor
## [1] 3.0 3.5 4.0 7.0
## [1] 3.0 3.5 4.0 7.0
# membuat vektor karakter
y <- c("Apel", "Jeruk", "Rambutan", "Salak")
y # print vektor
## [1] "Apel"     "Jeruk"    "Rambutan" "Salak"
## [1] "Apel"     "Jeruk"    "Rambutan" "Salak"
# membuat vektor logical
t <- c("TRUE", "FALSE", "TRUE")
t # print vektor
## [1] "TRUE"  "FALSE" "TRUE"
## [1] "TRUE"  "FALSE" "TRUE"

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

# Membuat vektor jumlah buah yang dibeli
Jumlah <- c(5,5,6,7)
names(Jumlah) <- c("Apel", "Jeruk", "Rambutan", "Salak")

# Atau
Jumlah <- c(Apel=5, Jeruk=5, Rambutan=6, Salak=7)

# Print
Jumlah
##     Apel    Jeruk Rambutan    Salak 
##        5        5        6        7
##     Apel    Jeruk Rambutan    Salak 
##        5        5        6        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.

jumlah <- c(Apel=5, Jeruk=NA, Rambutan=6, Salak=7)

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.

is.na(Jumlah)
##     Apel    Jeruk Rambutan    Salak 
##    FALSE    FALSE    FALSE    FALSE
##     Apel    Jeruk Rambutan    Salak 
##    FALSE    FALSE    FALSE    FALSE
  1. Subset Pada Vektor Subseting vector terdiri atas tiga jenis, yaitu: positive indexing, Negative Indexing, dan .

Positive indexing atau memilih elemen vektor berdasarkan posisinya (indeks) dalam kurung siku.

# Subset vektor pada urutan kedua
Jumlah[2]
## Jeruk 
##     5
## Jeruk 
##     5

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

Jumlah["Jeruk"]
## Jeruk 
##     5
## Jeruk 
##     5

Negative indexing atau mengecualikan (exclude) elemen vektor.

# mengecualikan elemen vektor 2 dan 4
Jumlah[-c(2,4)]
##     Apel Rambutan 
##        5        6
##     Apel Rambutan 
##        5        6

Subset berdasarkan vektor logical: Hanya, elemen-elemen yang nilai yang bersesuaian dalam vektor pemilihan bernilai TRUE, akan disimpan dalam subset.

Jumlah <- c(Apel=5, Jeruk=NA, Rambutan=6, Salak=7)

# selecting vector
merah <- c(TRUE, FALSE, TRUE, FALSE)

# Subset
Jumlah[merah==TRUE]
##     Apel Rambutan 
##        5        6
##     Apel Rambutan 
##        5        6

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:

pendapatan <- c(2000, 1800, 2500, 3000)
names(pendapatan) <- c("Andi", "Joni", "Lina", "Rani")
pendapatan
## Andi Joni Lina Rani 
## 2000 1800 2500 3000
## Andi Joni Lina Rani 
## 2000 1800 2500 3000

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

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

# membuat vektor dengan panjang 
# sama dengan dengan vektor pendapatan
coefs <- c(2, 1.5, 1, 3)

# Mengalikan pendapatan dengan vektor coefs
pendapatan*coefs
## Andi Joni Lina Rani 
## 4000 2700 2500 9000
## 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.

   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

Contoh penggunaan fungsi tersebut disajikan beberapa pada sintaks berikut:

# Menghitung range pendapatan
range(pendapatan)
## [1] 1800 3000
## [1] 1800 3000
# menghitung rata-rata dan standar deviasi pendapatan
mean(pendapatan)
## [1] 2325
sd(pendapatan)
## [1] 537.7422

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

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:

# vektor benilai 1 s/d 10
1:10
##  [1]  1  2  3  4  5  6  7  8  9 10
##  [1]  1  2  3  4  5  6  7  8  9 10

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

n = 10

# membuat vektor bernilai 0 s/d 9
1:n-1
##  [1] 0 1 2 3 4 5 6 7 8 9
##  [1] 0 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:

seq (from, to, by)

seq(from=3,to=8,by=0.5)
##  [1] 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
##  [1] 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

6. Nilai Berulang

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

rep(x, times, each)

# cetak angka 5 sebanyak 5 kali
rep(x=5, times=5)
## [1] 5 5 5 5 5
## [1] 5 5 5 5 5

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:

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) rchisq(n, df, ncp = 0)
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
NegatifBinomia l 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:

x <- 1:6
error <- rnorm(n=1, mean=0, sd=1)

# cetak x + error dengan 3 nilai signifikan
round((x+error), 3)
## [1] 0.839 1.839 2.839 3.839 4.839 5.839
## [1] 1.093 2.093 3.093 4.093 5.093 6.093

Daftar pustaka

https://bookdown.org/moh_rosidi2610/Metode_Numerik/calculation.html#vector