Lembaga : UIN Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
# 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"
names()# 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
lenght().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.
R Missing value dilambangkan sebagai NA (Not Available).Jumlah <- c(Kertas=5, Buku=NA, Pensil=6, Pulpen=8)
is.na() dengan output nilai boolean. Nilai TRUE akan tampil jika terdapat missing value.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 nilaiTRUEpada NaN. Untuk membedakannya denganNAdapat digunakan fungsiis.nan()
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
Rdimulai 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
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
R mengalikan setiap elemen dengan bilangan pengali. Kita juga dapat mengalikan vektor dengan vektor lainnya. Contohnya:# 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
# 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(). Contoh sebagai berikut :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
rep() untuk membuat deret nilai berulang. contoh sebagai berikut.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
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 | 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