Vektor |
Vektor merupakan kombinasi berbagai nilai (numerik, karakter, logical, dan sebagainya berdasarkan jenis input data) pada objek yang sama. Pada contoh berikut, jenis data input yaitu vektor numerik, vector karakter, vektor logical, dll.
Vektor dibuat dengan menggunakan fungsi c ( ) (concatenate) seperti yang disajikan pada sintaks berikut :
# membuat vektor numerik x <- c(4,3.3,4,7) x # print vektor
## [1] 4.0 3.3 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"
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
- 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().
length(Jumlah)
## [1] 4
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 TRUE FALSE FALSE
- Penting!
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().
Subseting vector terdiri atas tiga jenis, yaitu: positive indexing, Negative Indexing, dan .
- Positive indexing:
- memilih elemen vektor berdasarkan posisinya (indeks) dalam kurung siku.
# Subset vektor pada urutan kedua Jumlah[2]
## Jeruk ## NA
# Subset vektor pada urutan 2 dan 4 Jumlah[c(2, 4)]
## Jeruk Salak ## NA 7
Selain melalui urutan (indeks), kita juga dapat melakukan subset (membuat himpunan bagian) berdasarkan nama elemen vektornya
Jumlah["Jeruk"]
## Jeruk ## NA
- Penting!!!
Indeks pada R dimulai dari 1. Sehingga kolom atau elemen pertama vektor dimulai dari [1]
- Negative indexing: mengecualikan (exclude) elemen vektor.
# 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
Jika 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
# Kalikan pendapatan dengan 3 pendapatan*3
## 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:
# 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
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
## [1] 7
min(x) # memperoleh nilai minimum x
## [1] 3.3
range(x) # memperoleh range vektor x
## [1] 3.3 7.0
length(x) # memperoleh jumlah vektor x
## [1] 4
sum(x) # memperoleh total penjumlahan vektor x
## [1] 18.3
prod(x) # memeperoleh produk elemen vektor x
## [1] 369.6
mean(x) # memperoleh nilai mean vektor x
## [1] 4.575
sd(x) # standar deviasi vektor x
## [1] 1.65
var(x) # varian vektor x
## [1] 2.7225
sort(x) # mengurutkan elemen vektor x dari yang terbesar
## [1] 3.3 4.0 4.0 7.0
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
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.
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
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
# membuat vektor bernilai 1 s/d 9 1:(n-1)
## [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:
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
Daftar Pustaka |