Lembaga : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika

F. Pendahuluan

  1. MEMBUAT VEKTOR
# VEKTOR NUMERIK
x <- c(1,1.2,9,4)
x # print vektor
## [1] 1.0 1.2 9.0 4.0
# VEKTOR KARAKTER
y <- c("Nama", "Nim", "Alamat", "Rumah")
y # print vektor
## [1] "Nama"   "Nim"    "Alamat" "Rumah"
# VEKTOR LOGICAL
t <- c("FALSE", "FALSE", "TRUE")
t # print vektor
## [1] "FALSE" "FALSE" "TRUE"
# VEKTOR NUMERIK
x <- c(1,1.2,9,4)
x # print vektor
## [1] 1.0 1.2 9.0 4.0
# VEKTOR KARAKTER
y <- c("Nama", "Nim", "Alamat", "Rumah")
y # print vektor
## [1] "Nama"   "Nim"    "Alamat" "Rumah"
# VEKTOR LOGICAL
t <- c("FALSE", "FALSE", "TRUE")
t # print vektor
## [1] "FALSE" "FALSE" "TRUE"
# Membuat vektor jumlah barang yang digunakan
Jumlah <- c(1,3,2,2)
names(Jumlah) <- c("Kertas", "Buku", "Pensil", "Pulpen")

# Atau
Jumlah <- c(Kertas=1, Buku=3, Pensil=2, Pulpen=2)

# Print
Jumlah
## Kertas   Buku Pensil Pulpen 
##      1      3      2      2
length(Jumlah)
## [1] 4

PERLU DI INGAT JUGA BAHWA :

  • vektor hanya dapat memuat satu buah jenis data dan hanya dapat mengandung jenis data numerik saja, karakter saja, dll.

  1. MISSING VALUE
Jumlah <- c(Kertas=5, Buku=NA, Pensil=6, Pulpen=8)
is.na(Jumlah)
## Kertas   Buku Pensil Pulpen 
##  FALSE   TRUE  FALSE  FALSE

PERLU DI INGAT JUGA BAHWA :

  • 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
  • is.na() juga akan menghasilkan nilai TRUE pada NaN. Untuk membedakannya dengan NA dapat digunakan fungsi is.nan()

  1. SUBSET PADA VEKTOR

Subseting vector terdiri atas tiga jenis, yaitu: positive indexing, Negative Indexing, dan Subset berdasarkan vektor logical.

# Subset vektor pada urutan kedua
Jumlah[2]
## Buku 
##   NA
# Subset vektor pada urutan 2 dan 4
Jumlah[c(2, 4)]
##   Buku Pulpen 
##     NA      8
# kita juga dapat melakukan subset (membuat himpunan bagian) berdasarkan nama elemen vektornya.
Jumlah["Buku"]
## Buku 
##   NA

PERLU DI INGAT JUGA BAHWA :

  • Indeks pada R dimulai dari 1. Sehingga kolom atau elemen pertama vektor dimulai dari [1]
# mengecualikan elemen vektor 1 dan 2
Jumlah[-c(1,2)]
## Pensil Pulpen 
##      6      8
# mengecualikan elemen vektor 2 sampai 4
Jumlah[-c(2:4)]
## Kertas 
##      5

PERLU DI INGAT JUGA BAHWA :

  • Panjang vektor yang digunakan untuk subset harus sama
Jumlah <- c(Kertas=5, Buku=NA, Pensil=6, Pulpen=8)

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

# Subset
Jumlah[ada==TRUE]
## Kertas Pensil 
##      5      6
# Subset untuk elemen vektor bukan missing value
Jumlah[!is.na(Jumlah)]
## Kertas Pensil Pulpen 
##      5      6      8

  1. OPERASI MATEMATIS MENGGUNAKAN VEKTOR
pendapatan <- c(2000, 1800, 2500, 3000)
names(pendapatan) <- c("Amang", "Lili", "Lina", "Lani")
pendapatan
## Amang  Lili  Lina  Lani 
##  2000  1800  2500  3000
# Kalikan pendapatan dengan 3
pendapatan*5
## Amang  Lili  Lina  Lani 
## 10000  9000 12500 15000
# membuat vektor dengan panjang 
# sama dengan dengan vektor pendapatan
koefs <- c(3, 5.2, 2, 4)

# Mengalikan pendapatan dengan vektor coefs
pendapatan*koefs
## Amang  Lili  Lina  Lani 
##  6000  9360  5000 12000
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
# Menghitung range pendapatan
range(pendapatan)
## [1] 1800 3000
# menghitung rata-rata dan standar deviasi pendapatan
mean(pendapatan)
## [1] 2325
sd(pendapatan)
## [1] 537.7422

  1. MEMBUAT DERET ANGKA
    Secara sederhana vektor merupakan deret angka. Vektor bisa merupakan data yang kita miliki atau sengaja kita buat untuk tujuan simulasi matematika. Urutan angka-angka ini bisa memiliki interval konstan.
# vektor benilai 4 s/d 15
4:15
##  [1]  4  5  6  7  8  9 10 11 12 13 14 15
# vektor bernilai 5 s/d -3
5:-3
## [1]  5  4  3  2  1  0 -1 -2 -3

PERLU DI INGAT JUGA BAHWA :

  • Operator colon ini berkedudukan lebih tinggi dibandingkan dengan operator aritmatika, sehingga system akan mengeksekusi operator colon terlebih dahulu.
n = 10

# membuat vektor bernilai 0 s/d 9
1:n-1
##  [1] 0 1 2 3 4 5 6 7 8 9
# membuat vektor bernilai 1 s/d 9
1:(n-1)
## [1] 1 2 3 4 5 6 7 8 9

seq(from, to, by)

from = awal angka yg di inginkan
to = akhir angka yg di inginkan
by = interval antar nilai

seq(from=4,to=9,by=0.5)
##  [1] 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0 8.5 9.0

  1. Nilai Berulang

rep(x, times, each)

x = nilai yang hendak di ulang
times = jumlah pengulangan
each = argumen tambahan untuk menentukan jumlah masing2 vektor yang akan ditampilkan

# tampilkan angka 6 sebanyak 5x
rep(x=6, times=5)
## [1] 6 6 6 6 6
# tampilkan angka 6 dan 1 sebanyak 4x
rep(c(6,1), times=4)
## [1] 6 1 6 1 6 1 6 1
# tampilkan angka 6 dan 1 masing-masing 4x
rep(c(6,1), each=4)
## [1] 6 6 6 6 1 1 1 1

  1. Deret Bilangan Acak
Distribusi Fungsi Argummen
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
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
Hypergeometri 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
Poisson rpois(n, lambda) n = jumlah observasi; mead, sd = nilai mean dan simpangan baku
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
x <- 1:6
error <- rnorm(n=1, mean=0, sd=1)

# cetak x + error dengan 3 nilai signifikan
round((x+error), 3)
## [1] 1.146 2.146 3.146 4.146 5.146 6.146

Daftar Pustaka