Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Fakultas : Sains dan Teknologi
1). vektor numerik
2). vector karakter
3). vektor logical
, dll.
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
# membuat vektor karakter
y <- c("Apel", "Jeruk", "Rambutan", "Salak")
y # print vektor
## [1] "Apel" "Jeruk" "Rambutan" "Salak"
# membuat vektor logical
t <- c("TRUE", "FALSE", "TRUE")
t # print vektor
## [1] "TRUE" "FALSE" "TRUE"
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
Penting!!!
Vektor hanya dapat memuat satu buah jenis data. Vektor hanya dapat mengandung jenis data numerik saja, karakter saja, dll.
lenght()
.length(Jumlah)
## [1] 4
R
dilambangkan oleh NA
(not available). Berikut adalah contoh vektor dengan missing value.Jumlah <- c(Apel=5, Jeruk=NA, Rambutan=6, Salak=7)
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 TRUE FALSE FALSE
Penting!!!
1). Selain NA terdapat
Na
(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 nilaiTRUE
padaNa
. Untuk membedakannya >dengan NA dapat digunakan fungsiis.nan()
.
# Subset vektor pada urutan kedua
Jumlah[2]
## Jeruk
## NA
# Subset vektor pada urutan 2 dan 4
Jumlah[c(2, 4)]
## Jeruk Salak
## NA 7
Jumlah["Jeruk"]
## Jeruk
## NA
Penting!!!
Indeks pada
R
dimulai dari 1. Sehingga kolom atau elemen pertama vektor >dimulai dari [1]
# mengecualikan elemen vektor 2 dan 4
Jumlah[-c(2,4)]
## Apel Rambutan
## 5 6
# mengecualikan elemen vektor 1 sampai 3
Jumlah[-c(1:3)]
## Salak
## 7
Penting!!!
panjang vektor yang digunakan untuk subset harus sama.
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
# Subset untuk elemen vektor bukan missing value
Jumlah[!is.na(Jumlah)]
## Apel Rambutan Salak
## 5 6 7
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
# 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
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
# menghitung rata-rata dan standar deviasi pendapatan
mean(pendapatan)
## [1] 2325
sd(pendapatan)
## [1] 537.7422
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
# vektor bernilai 10 s/d -1
10:-1
## [1] 10 9 8 7 6 5 4 3 2 1 0 -1
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()
. Format sintaks tersebut adalah sebagai berikut:seq(from, to, by)
Catatan:
from, to: angka awal dan akhir atau nilai maksimum dan minimum deret bilangan >yang diinginkan.
by: interval antar nilai
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
rep()
dapat digunakan untuk membuat deret dengan nilai berulang. Format fungsi tersebut adalah sebagai berikut:rep(x, times, each)
Catatan:
- x : nilai yang hendak dibuat berulang.
- times : jumlah pengulangan.
- each : argumen tambahan yang menentukan jumlah masing-masing elemen vektor akan dicetak.
# cetak angka 5 sebanyak 5 kali
rep(x=5, times=5)
## [1] 5 5 5 5 5
# cetak angka 5 dan 6 sebanyak 3 kali
rep(c(5,6), times=3)
## [1] 5 6 5 6 5 6
# cetak angka 5 dan 6 masing-masing 3 kali
rep(c(5,6), each=3)
## [1] 5 5 5 6 6 6
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) |
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 Binominl | 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 |
x <- 1:6
error <- rnorm(n=1, mean=0, sd=1)
# cetak x + error dengan 3 nilai signifikan
round((x+error), 3)
## [1] 2.223 3.223 4.223 5.223 6.223 7.223