I G.A. Anom Yudistira E-mail: anom1392@lecturer.binus.ac.id Pengenalan Bahasa R I G.A. Anom Yudistira E-mail: anom1392@lecturer.binus.ac.id.

Slides:



Advertisements
Presentasi serupa
Pemrograman VB.NET Pertemuan 2.
Advertisements

Eni Sumarminingsih,S.Si,MM
UNIVERSITAS BUDI LUHUR FAKULTAS TEKNOLOGI INFORMASI HAL : 1 Pemrograman VB.NET Pertemuan 7.
Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman I
ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 8.00 – Rabu, – Senin, 9.00 – Selasa, –
Array.
E  X   danVar   x    2 / n kecil disebabkan karena Var    x    lebih kecil daripada Var (X). Kesimpulan didapat MODUL KULIAH STATISTIKA.
Pengujian Hipotesis.
Pendugaan Parameter.
PERTEMUAN II ARRAY DIMENSI 1 & 2.
Isnardi,M.Kom Ikhsan, S.Kom, M.Kom Novinaldi, S.Kom
Ardian Maretta Prastiawan, Ssi Software Development UPT. Puskom UNS
VARIABEL DAN OPERATOR.
PHP. PHP itu … Merupakan singkatan recursive dari PHP : Hypertext Prepocessor Pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1994.Rasmus Lerdorf Setiap.
Java array.
Pemrogramman Terstruktur
© aSup-2007 PENGENALAN SPSS   1 INTRODUCTION to SPSS Statistical Package for Social Science.
PHP.
BUDIYONO Program Pascasarjana UNS
Dasar Pemrograman ARRAY/LARIK.
PEMOGRAMAN 1 Pertemuan 3.
Struktur Kode Aplikasi Java (1)
Modul-6 : Java Script (1) Dasar javascript,variabel , manipulasi string, fungsi matematis, table dan menu option Modul -6 : Java Script (1)
PERTEMUAN 7 Pemrograman Visual
Pengantar MATLAB Universitas Jember
JAVASCRIPT.
Dasar Komputer & Pemrog. 2A
Dasar-Dasar PHP.
Testing Levels. Activities of Test Engineer Test engineer is an information technology professional who is in charge of ane or more technical test activities,
Operasi Perulangan pada FORTRAN Pertemuan 6
Array.
Praktikum Java Script.
INTRODUCTION TO SPSS Statistical Package for Social Science 1.
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Algoritma & Pemrograman 1
Basic Class Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 3 Tahun : 2008 Versi : 1/0.
Struktur Kontrol Struktur kontrol if Struktur kontrol if-else
ALGORITMA PEMROGRAMAN 2A
PENGGUNAAN TIPE DATA YANG EFEKTIF
Internet Programming PHP
PERINTAH DASAR SISTEM OPERASI LINUX
Tipe Data By Serdiwansyah N. A..
PENGANTAR KOMPUTER & TI 2A
Struktur Organisasi Data 2
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Struktur Program Minimal
Algoritma & PEMROGRAMAN 2B (Visual basic)
PENGENALAN USER INTERFACE DALPHI 7.0 Volume 2
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
PERTEMUAN 2 MACRO EXCEL.
Pertemuaan 2 Fitri Amillia, S.T., M.T.
Pemrograman VB.NET Pertemuan 2 Sorang Pakpahan,S.Kom.,M.Kom.
Pengenalan Visual Basic
Pemrograman Berorientasi Objek
Pemrograman internet ABU SALAM, M.KOM.
Pemrograman Web HTML (7) PHP Andy Haryoko, ST
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
PHP.
PENGENALAN USER INTERFACE DELPHI 7.0
Struktur Data.
PERTEMUAN IV SINTAK LANJUT VB
Pemrogram 1 Agus Darmawan, S.kom.
Dasar-dasar PHP - Pengantar - variabel - operator -struktur kontrol
Pengantar Optimasi Statistika dengan R
Pengenalan SPSS.
Struktur Data.
TIPE-TIPE DATA PHP Bandung 2009, by hery dwi y.
PENGGUNAAN TIPE DATA YANG EFEKTIF
Java Database Connectivity (JDBC)
Teknik Komputer & Jaringan SMK Al-Muhtadin Sahadi, ST
Transcript presentasi:

I G.A. Anom Yudistira E-mail: anom1392@lecturer.binus.ac.id Pengenalan Bahasa R I G.A. Anom Yudistira E-mail: anom1392@lecturer.binus.ac.id

Websites SimpleR www.math.csi.cuny.edu/Statistics/R/simpleR/Simple package, data, dan dokumen R www.r-project.org software;  cran.r-project.org dokumen; packages RNews.

Bahasa R: Selayang Pandang Open source dan open development. Merupakan sofware yang dirancangan dan penyebarannya bersifat portable, extensible, dan scalable. Interoperability dengan bahasa lain: C, XML, FORTRAN. Disediakan untuk berbagai metode statistik dan numerik. Memiliki tools graphics dan visualisasi dengan kualitas tinggi. Memiliki user interface yang efektif, dan extensible Didukung dengan creation, testing, dan distribusi software dan data modul: packages.  gratis

Pemrograman Berorientasi Objek (OOP) Class abstraksi software mengenai objek dalam dunia nyata. refleksi dari bagaimana kita memandang objek dan informasi apa yang dikandungnya. Method fungsi melakukan aksi terhadap data (objects). aksi fungsi tergantung pada class dari argumen-argumennya. sebuah fungsi generic dapat segera digunakan.

R antarmuka pengguna Pemrosesan baris perintah (command line processing) Klik R mulai > q() keluar; quit Graphik windows > X11() atau > window() > postscript() > dev.off() File path terhadap working directory > getwd() > setwd() meload a package library dengan library() GUIs, tcltk

Memperoleh Bantuan (Help) Detail tentang perintah spesifik yang namanya anda ketahui: > ? t.test > help(t.test) Teladan penggunaan: > demo(graphics) > example(mean) mean> x <- c(0:10, 50) mean> xm <- mean(x) mean> c(xm, mean(x, trim = 0.1)) [1] 8.75 5.50

Memperoleh Bantuan (Help) Mesin pencari HTML membantu anda mencari topik tertentu: > help.search(“mean”) Mencari perintah yang mengandung ekspresi atau nama objek tertentu: > apropos("var") [1] "var.na" ".__M__varLabels:Biobase" [3] "varLabels" "var.test" [5] "varimax" "all.vars" [7] "var" "variable.names" [9] "variable.names.default" "variable.names.lm"

Memperoleh Bantuan (Help) Melihat code suatu fungsi, ketik nama fungsi tanpa parentheses/() or arguments: > plot

R sebagai Calculator > log2(32) [1] 5 > print(sqrt(2)) [1] 1.414214 > pi [1] 3.141593 > seq(0, 5, length=6) [1] 0 1 2 3 4 5 > 1+1:10 [1] 2 3 4 5 6 7 8 9 10 11

R sebagai alat pembuat Graphics > plot(sin(seq(0, 2*pi, length=100)))

Variabel > a <- 49 numeric > 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

Missing Values > NA==1 [1] NA > 1+NA > max(c(NA, 4, 7)) 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 > max(c(NA, 4, 7)) > max(c(NA, 4, 7), na.rm=T) [1] 7 > NA | TRUE [1] TRUE > NA & TRUE [1] NA

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

Matriks dan Array matrix: table data berbentuk segi empat dengan tipe sama Teladan: > mat <- matrix(1:10, nrow=5, ncol=2) 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).

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).

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 localization tumorsize progress XX348 proximal 6.3 FALSE XX234 distal 8.0 TRUE XX987 proximal 10.0 FALSE

Apa tipe data saya? Class from which object inherits (vector, matrix, function, logical, list, … ) mode Numeric, character, logical, … storage.mode typeof Mode used by R to store object (double, integer, character, logical, …) is.function Logical (TRUE if function) is.na Logical (TRUE if missing) names Names associated with object dimnames Names for each dim of array attributes Names, class, etc.

Subsetting Elemen-elemen individual sebuah vektor, matriks, array or 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"] > a["XX987",] XX987 proximal 10 0

Teladan: subset baris-baris dengan vektor indeks localization tumorsize progress XX348 proximal 6.3 0 XX234 distal 8.0 1 XX987 proximal 10.0 0 > a[c(1,3),] > a[-c(1,2),] > a[c(T,F,T),] > a$localization [1] "proximal" "distal" "proximal" > a$localization=="proximal" [1] TRUE FALSE TRUE > a[ a$localization=="proximal", ] 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

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.

Operator-operator yang sering digunakan <- Assign + Sum - Difference * Multiplication / Division ^ Exponent %% Mod %*% Dot product %/% Integer division %in% Subset | Or & And < Less > Greater <= Less or = >= Greater or = ! Not != Not equal == Is equal

Fungsi-fungsi yang sering digunakan c Concatenate cbind,rbind Concatenate vectors min Minimum max Maximum length # values dim # rows, cols floor Max integer in which TRUE indices table Counts summary Generic stats Sort, order, rank Sort, order, rank a vector print Show value cat Print as char paste c() as char round Round apply Repeat over rows, cols

Fungsi-fungsi Statistik rnorm, dnorm, pnorm, qnorm Normal distribution random sample, density, cdf and quantiles lm, glm, anova Model fitting loess, lowess Smooth curve fitting sample Resampling (bootstrap, permutation) .Random.seed Random number generation mean, median Location statistics var, cor, cov, mad, range Scale statistics svd, qr, chol, eigen Linear algebra

Fungsi-fungsi Grafik plot Generic plot eg: scatter points Add points lines, abline Add lines text, mtext Add text legend Add a legend axis Add axes box Add box around all axes par Plotting parameters (lots!) colors, palette Use colors

Percabangan if (logical expression) { statements } else { alternative statements else branch is optional { } are optional with one statement ifelse (logical expression, yes statement, no statement)

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) { i<-i+sqrt(i) Lihat juga: repeat, break, next

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"

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”)

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=“\t”) Lihat juga: write.matrix, write

Importing dan Exporting Data Mengambil data dari format minitab, SAS, STATA dapat dilakukan dengan menggunakan package foreign > library(foreign) > read.mtp(“file.mtp”) # format minitab

Simulasi Teorema Limit Pusat > n<-10; p<-.25; S<-rbinom(100,n,p) > X<-(S-n*p)/sqrt(n*p*(1-p)) # ada 100 angka acak > hist(X,prob=TRUE) > xval=seq(-3,3,.01) > points(xval,dnorm(xval),type="l")

Simulasi 200 sampel diambil dari populasi N(10,5) masing-masing berukutan 100 > samp<-numeric(0) > mu<-10;sigma<-5 > for (i in 1:200) { + x<-rnorm(100,mu,sigma) # bangkikan 100 data + samp[i]<-(mean(x)-mu)/(sigma/sqrt(100)) + } > hist(samp,prob=T,col=gray(0.85)) > xval=seq(-3,3,.01) > points(xval,dnorm(xval),type="l")

QQ-Plot Plot quantil-quantil adalah plot yang lebih baik digunakan untuk memutuskan apakah suatu data acak teraproksimasi normal > par(mfrow=c(1,4)) > x<-rnorm(100);qqnorm(x,main="normal(0,1)"); qqline(x) > x<-rnorm(100,10,15);qqnorm(x,main="normal(10,15)") > qqline(x) > x<-rexp(100,1/10);qqnorm(x,main="exponensial mu=10") > x<-runif(100);qqnorm(x,main="uniform(0,1)"); qqline(x)

Statistik Inferensia > library(Devore6) # panggil package Devore6 > xmp07.06 # lihat datanya > names(xmp07.06) # apa saja variabelnya > with(xmp07.06,mean(Voltage)+ + c(1,-1)*qnorm(0.025)* + sd(Voltage)/sqrt(length(Voltage))) [1] 53.22859 56.18807

Statistik Inferensia Uji t > with(xmp07.06,t.test(Voltage)) One Sample t-test data: Voltage t = 72.4631, df = 47, p-value < 2.2e-16 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: 53.18950 56.22716 sample estimates: mean of x 54.70833

Statistik Inferensia Selang kepercayaan untuk ragam > with(xmp07.15,(length(voltage)-1)* + var(voltage)/qchisq(c(0.975,0.025), + df=length(voltage)-1)) [1] 76171.31 318079.76 > with(xmp08.08,t.test(DCP,mu=30,alt="less")) One Sample t-test data: DCP t = -0.7282, df = 51, p-value = 0.2349 alternative hypothesis: true mean is less than 30 95 percent confidence interval: -Inf 31.61088 sample estimates: mean of x 28.76154