Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00.

Presentasi serupa


Presentasi berjudul: "ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00."— Transcript presentasi:

1 ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00

2 Salah satu perintah R yang populer adalah kelompok perintah *apply(), seperti apply(), tapply() dan lapply(). Mengenakan Fungsi kepada Baris-baris atau Kolom-kolom Matriks apply() digunakan utk mengenakan fungsi kepada setiap baris atau setiap kolom dari matriks. Penggunaan apply() apply(m,dimcode,f,fargs) Bentuk umum: dimana:m = matriks dimcode = dimensi, yakni 1 jika dikenakan kpd baris atau 2 jika dikenakan kpd kolom f = fungsi yg dikenakan fargs = argumen tambahan bagi fungsi f (opsional)

3 Contoh: kita akan mengenakan fungsi mean() kpd setiap kolom matriks z > z [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 > apply(z,2,mean) [1] 2 5 Catatan: fungsi colMeans() bisa juga dipakai

4 Contoh: kita buat perintah (fungsi) baru, kemudian dikenakan kpd setiap kolom matriks z > z [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 > f <- function(x) x/c(2,8) > y <- apply(z,1,f) > y [,1] [,2] [,3] [1,] 0.5 1.000 1.50 [2,] 0.5 0.625 0.75

5 Menambah atau Menghapus Baris dan Kolom Matriks > x [1] 12 5 13 16 8 > x <- c(x,20) # tambahkan unsur 20 > x [1] 12 5 13 16 8 20 > x <- c(x[1:3],20,x[4:6]) # sisipkan 20 > x [1] 12 5 13 20 16 8 20 > x <- x[-2:-4] # hapus unsur ke-2 sampai ke-4 > x [1] 12 16 8 20 Mengubah dimensi vektor atau matriks

6 Untuk mengubah dimensi dari matriks bisa digunakan rbind() dan cbind(). rbind = row bind cbind = column bind tambahkan baris tambahkan kolom > satu [1] 1 1 1 1 > z [,1] [,2] [,3] [1,] 1 1 1 [2,] 2 1 0 [3,] 3 0 1 [4,] 4 0 0 > z <- cbind(satu,z) > z [1,]1 1 1 1 [2,]1 2 1 0 [3,]1 3 0 1 [4,]1 4 0 0 buat matriks baru dengan menggabungkan kolom berisi angka 1 dengan kolom-kolom matriks z Cara seperti ini tidak dianjurkan utk dipakai dalam perulangan (loop), krn program akan menjadi lambat.

7 Menghapus baris atau kolom dgn penugasan kembali (reassignment) > m <- matrix(1:6,nrow=3) > m [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6 > m <- m[c(1,3),] > m [,1] [,2] [1,] 1 4 [2,] 3 6

8 Perbedaan Vektor dan Matriks (lebih lanjut) Matriks adalah juga vektor, tetapi mempunyai dua tambahan atribut, yakni banyaknya baris dan banyaknya kolom. > z <- matrix(1:8,nrow=4) > z [,1] [,2] [1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8 Karena z juga merupakan vektor, maka kita bisa meminta info tentang length-nya: > length(z) [1] 8

9 Akan tetapi sebagai matrix, z punya kelebihan dibanding vektor > class(z) [1] "matrix" > attributes(z) $dim [1] 4 2 info ttg banyak baris dan kolom atau langsung menggunakan fungsi (perintah) dim > dim(z) [1] 4 2 atau info ttg banyak baris dan kolom bisa secara sendiri-sendiri diperoleh dgn perintah nrow dan ncol > nrow(z) [1] 4 > ncol(z) [1] 2

10 Menghindari Reduksi Dimensi yg Tidak Diinginkan > z [,1] [,2] [1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8 > r <- z[2,] > r [1] 2 6 z adalah matriks r adalah vektor (terjadi reduksi dimensi) > attributes(z) $dim [1] 4 2 > attributes(r) NULL > str(z) int [1:4, 1:2] 1 2 3 4 5 6 7 8 > str(r) int [1:2] 2 6 bukti bhw r adalah vektor Hal ini harus diperhatikan dlm pemrograman

11 Agar tidak terjadi reduksi dimensi, gunakan argumen ‘drop’ > r <- z[2,, drop=FALSE] > r [,1] [,2] [1,] 2 6 > dim(r) [1] 1 2 r tetap mrp matriks Vektor bisa dijadikan matriks dengan perintah as.matrix > u [1] 1 2 3 > v <- as.matrix(u) > attributes(u) NULL > attributes(v) $dim [1] 3 1

12 Memberi Nama kepada Baris dan Kolom Matriks > z [,1] [,2] [1,] 1 3 [2,] 2 4 > colnames(z) NULL > colnames(z) <- c("a","b") > z a b [1,] 1 3 [2,] 2 4 > colnames(z) [1] "a" "b" > z[,"a"] [1] 1 2 memberi nama kolom merujuk suatu kolom

13 Array Berdimensi Tinggi Dalam kontek statistika, baris-baris dari matriks adalah pengamatan, misal orang, dan kolom-kolom adalah variabel, seperti berat badan dan tekanan darah. Maka matriks berupa struktur data berdimensi dua. Misalkan kita mengukur variabel-variabel tsb pada waktu yg berbeda, sehingga setiap angka data kita adalah utk tiap orang tiap variabel tiap waktu. Oleh karena itu waktu menjadi dimensi ketiga. Data tsb dalam R disebut array.

14 > firsttest [,1] [,2] [1,] 46 30 [2,] 21 25 [3,] 50 50 > secondtest [,1] [,2] [1,] 46 43 [2,] 41 35 [3,] 50 50 > tests <- array(data=c(firsttest,secondtest),dim=c(3,2,2)) > attributes(tests) $dim [1] 3 2 2 > tests[3,2,1] [1] 48 > tests,, 1 [,1] [,2] [1,] 46 30 [2,] 21 25 [3,] 50 48,, 2 [,1] [,2] [1,] 46 43 [2,] 41 35 [3,] 50 49 Seperti halnya kita membuat array berdimensi 3 dgn menggabungkan dua matriks, maka kita juga bisa buat array berdimensi 4 dgn menggabungkan dua atau lebih array berdimensi 3.


Download ppt "ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00."

Presentasi serupa


Iklan oleh Google