10. R sebagai alat pembuat Graphics > plot(sin(seq(0, 2*pi, length=100)))
11. > a <- 49 > sqrt(a) [1] 7 > b <- "Saya sedang belajar R" > sub("Saya","Kamu",b) [1] "Kamu sedang belajar R " > c <- (1+1==3) > c [1] FALSE > is.character(c) [1] " FALSE " numeric character string logical Variabel
12. Missing Values Peubah setiap tipe data (numeric, character, logical) dapat mempunyai nilai NA : not available. o NA tidak sama dengan 0 o NA tidak sama dengan “” o NA tidak sama dengan FALSE o NA tidak sama dengan NULL Opersi-operasi yang melibatkan NA bisa saja menghasilkan NA atau tidak: > NA==1 [1] NA > 1+NA [1] NA > max(c(NA, 4, 7)) [1] NA > max(c(NA, 4, 7), na.rm=T) [1] 7 > NA | TRUE [1] TRUE > NA & TRUE [1] NA
13. Vektor vektor: suatu kumpulan data terurut dengan tipe sama > a <- c(1,2,3) > a*2 [1] 2 4 6 Teladan: Nilai UTS statistik dan probabilitas kelas 02PBT adalah sebuah vektor numeric Pada R, sebuah vektor bisa saja hanya memilki sebuah nilai tunggal. Tipe-tipe vektor lain: character strings, logical
14. Matriks dan Array matrix: table data berbentuk segi empat dengan tipe sama Teladan: ?. array: 3-,4-,.. matrix dimensional Teladan: nilai-nilai foreground and background merah dan hijau untuk 20000 spots pada 120 arrays adalah array 4 x 20000 x 120 (3D).
15. Himpunan ( list ) list: kumpulan data terurut dari sembarang tipe. Teladan: > doe <- list(name="john",age=28,married=F) > doe$name [1] "john“ > doe$age [1] 28 > doe[[3]] [1] FALSE Elemen-elemen vektor diakses dengan nilai indexnya (integer) sedangkan elemen-elemen list oleh $nama (suatu character string).
16. Data Frame data frame: tabel segiempat dengan baris-baris dan kolom-kolom; data didalam setiap kolom harus bertipe sama (mis. angka, text, logikal), tetapi kolom berbeda bisa saja bertipe tidak sama. Teladan: > a <-data.frame(localization,tumorsize,progress,row.names=patients) > a l o c alization tumorsize p rogress XX348 proximal 6.3 FALSE XX234 distal 8.0 TRUE XX987 proximal 10.0 FALSE
17. Apa tipe data saya? Names, class, etc. attributes Names for each dim of array dimnames Names associated with object names Logical (TRUE if missing) is.na Logical (TRUE if function) is.function Mode used by R to store object (double, integer, character, logical, …) storage.mode typeof Numeric, character, logical, … mode Class from which object inherits (vector, matrix, function, logical, list, … ) class
18. Subsetting Elemen-elemen individual sebuah vektor, matriks, array atau data frame diakses dengan “[ ]” dengan menentukan nilai indeksnya, atau namanya > a localization tumorsize progress XX348 proximal 6.3 0 XX234 distal 8.0 1 XX987 proximal 10.0 0 > a[3, 2] [1] 10 > a["XX987", "tumorsize"] [1] 10 > a["XX987",] l o c alization tumorsize p rogress XX987 proximal 10 0
19. >a localization tumorsize progress XX348 proximal 6.3 0 XX234 distal 8.0 1 XX987 proximal 10.0 0 > a[c(1,3),] l o c alization tumorsize p rogress XX348 proximal 6.3 0 XX987 proximal 10.0 0 > a[-c(1,2),] l o c alization tumorsize p rogress XX987 proximal 10.0 0 > a[c(T,F,T),] l o c alization tumorsize p rogress XX348 proximal 6.3 0 XX987 proximal 10.0 0 > a$ l o c alization [1] "proximal" "distal" "proximal" > a$ l o c alization=="proximal" [1] TRUE FALSE TRUE > a[ a$ l o c alization=="proximal", ] l o c alization tumorsize p rogress XX348 proximal 6.3 0 XX987 proximal 10.0 0 subset baris-baris dengan vektor indeks subset baris-baris dg. Vektor logikal subset kolom-kolom Hasil pembandingan dalam vektor logikal subset baris-baris yang dipilih Teladan:
20. Fungsi dan Operator Fungsi melakukan sesuatu terhadap data “ Input”: argumen-argumen fungsi (0,1,2,…) “ Output”: hasil fungsi Teladan: add <- function(a,b) { result <- a+b return(result) } Operator: Penulisan cepat untuk fungsi-fungsi yang sering digunakan dengan satu atau dua argument.
21. Operator-operator yang sering digunakan Assign <- Exponent ^ Subset %in% Integer division %/% Dot product %*% Mod %% Division / Multiplication * Difference - Sum + Is equal == Less or = <= Greater or = >= Less < Greater > Not equal != Not ! And & Or |
22. Fungsi-fungsi yang sering digunakan # values length Max integer in floor Concatenate vectors cbind,rbind Counts table Concatenate c Minimum min Maximum max # rows, cols dim TRUE indices which Round round c() as char paste Sort, order, rank a vector Sort, order, rank Repeat over rows, cols apply Print as char cat Show value print Generic stats summary
23. Fungsi-fungsi Statistik Linear algebra svd, qr, chol, eigen Scale statistics var, cor, cov, mad, range Location statistics mean, median Normal distribution random sample, density, cdf and quantiles rnorm, dnorm, pnorm, qnorm Model fitting lm, glm, anova Smooth curve fitting loess, lowess Resampling (bootstrap, permutation) sample Random number generation .Random.seed
24. Fungsi-fungsi Grafik Plotting parameters (lots!) par Add a legend legend Generic plot eg: scatter plot Add points points Add lines lines, abline Use colors colors, palette Add box around all axes box Add axes axis Add text text, mtext
25. Percabangan if (logical expression) { statements } else { alternative statements } else branch is optional { } are optional with one statement ifelse (logical expression, yes statement, no statement)
26. Loops Bila perintah yang sama diperlukan beberapa kali; untuk semua elemen dalam sebuah list; semua kolom dalam sebuah array; dsb. for (i in 1:10) { print(i*i) } i<-1 while (i<=10) { print(i*i) i<-i+sqrt(i) } Also: repeat, break, next
27. Expressi Regular Perintah untuk pencocokan text dan replacement yang juga tersedia dalam bentuk yang sama dengan kebanyakan bahasa pemrograman (Perl, Unix shells, Java) > a <- c("CENP-F","Ly-9", "MLN50", "ZNF191", "CLH-17") > grep("L", a) [1] 2 3 5 > grep("L", a, value=T) [1] "Ly-9" "MLN50" "CLH-17" > grep("^L", a, value=T) [1] "Ly-9" > grep("[0-9]", a, value=T) [1] "Ly-9" "MLN50" "ZNF191" "CLH-17" > gsub("[0-9]", "X", a) [1] "CENP-F" "Ly-X" "MLNXX" "ZNFXXX" "CLH-XX"
28. Menyimpan Data Setiap objek R dapat disimpan dan dipanggil kembali dari sebuah file dengan menggunakan perintah: “ save” and “load”. Menggunkan standard XDR (external data representation) dari Sun Microsystems dan mempunyai keseuaian terhadap MS-Windows, Unix, Mac. > save(x, file=“x.Rdata”) > load(“x.Rdata”)
29. Importing dan Exporting Data Ada banyak cara untuk mengambil dan mengirim data. Kebanyakan program (seperti Excel), disimpan dalam bentuk tabel segiempat berbentuk tab-delimited text files. > x <- read.delim(“filename.txt”) Lihat juga: read.table, read.csv, scan > write.table(x, file=“x.txt”, sep=“”) Lihat juga: write.matrix, write