60
STK 571 KOMPUTASI STATISTIK Perangkat Lunak Komputasi Statistik R

STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

  • Upload
    donhi

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

STK 571KOMPUTASI STATISTIK Perangkat Lunak

Komputasi Statistik R

Page 2: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

RUANG LINGKUP MATERI

Pendahuluan

Objek Data

Aritmetik, dan Alir Kendali

Data Munging/Wrangling (Manajemen Data)

Page 3: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

REFERENSI

“An Introduction to R”; Venables, Smith dan R Development Core Team.

“Modern Applied Statistics with S”; Venables dan Ripley. 2004.

“S Programming”; Venables dan Ripley. 2000.

“A First Course In Statistical Programming with R”; W. John Braun danDuncan J. Murdoch. 2007.

“Statistical Computing with R”; Maria L. Rizzo. 2007

Page 4: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

PENDAHULUAN

Page 5: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

PENDAHULUAN

Apa R?

R adalah implementasi sebuah lingkungan komputasi dan pemrograman bahasastatistika

Bedanya dengan S-Plus:

R: free, open-source, Windows/Macintos/Unix/Linux

S-Plus: Commercial, Windows/Unix/Linux

Bagaimana mendapatkannya?

www.r-project.org

Page 6: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

MENGAPA MENGGUNAKAN S

S telah menjadi software statistika standar diantara statistisi dunia. →metode baru banyak diimplementasikan

Telah banyak dikembangkan fungsi-fungsi statistika

S menciptakan grafik yang lebih baik

S mudah digunakan

Page 7: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

LINGKUNGAN R

Menjalankan R

Windows : klik icon R

Linux : tulis perintah R

Mengakhiri R

Gunakan fungsi q()

Page 8: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

LINGKUNGAN R

- Ada 2 versi:

32 bit

64 bit

Page 9: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

PERINTAH (COMMAND)

Dua Prompt:

> → R siap menerima perintah

+ → Perintah yang ditulis belum lengkap

Tuliskan ekpresi pada prompt dan tekan ENTER umumnya akanmencetak output

Kecuali ekpresi penyimpan data

Beberapa perintah dapat disubmit dalam satu prompt dgn dipisahkantitik koma (;)

Beberapa perintah dapat dikelompokkan dengan { }

Page 10: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

FITUR DASAR R

Kalkulator

R dapat digunakan sebagai kalkulator

Operator : + , - , *, /, ^, %%, %/%

Case sensitif

Command Line Editing

Panah atas dan bawah pada keyboard digunakan untuk memanggil perintahsebelumnya

Panah kiri dan kanan untuk mengedit

Page 11: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

EKSPRESI DAN ASSIGNMENT

Perintah S berupa ekspresi dan assigment

Ekpresi : dievaluasi kemudian dicetak ke layar

> 1 – pi + exp(1.7)

[1] 3.332355

Assignment : dievaluasi kemudian disimpan ke objek (menggunakan '<-', '->', '=' , '<<-')

> a <- 6

Page 12: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

PENAMAAN OBJEK

Menggunakan huruf alfabet (A-Z, a-z), angka (0-9) dan titik (.)

Dimulai dengan huruf alfabet atau titik

Underscore (_) tidak diimplementasikan untuk setiap engine S → hindari(gunakan titik sebagai pemisah)

Hindari penamaan yg sama dengan fungsi

Contoh : c, q, s, t, diff, length, mean, dll

Terdapat reserved word yg tidak dapat digunakan → FALSE, TRUE, inf, NA, NaN, NULL, break, else, for , dll

Page 13: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK

Segala sesuatu dalam S dipandang sebagai objek.

Data, fungsi, operator dll.

Karakteristik setiap objek dilihat melalui mode dan length

Objek data --> mode numeric, complex, character, dan logical

Objek bahasa --> mode function, expression, list, dll

Page 14: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK

Objek juga memiliki attribute

Menjelaskan fitur dari objek

Contoh attribut: class, comment, dim, dimnames, names dll

Gunakan perintah attribute/attr untuk melihat atau merubah atribut

Teladan :

# menciptakan matriks 2 x 5

x <- 1:10

attr(x,"dim") <- c(2, 5)

Page 15: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK

Untuk menciptakan objek sekaligus atribut gunakan structure

Teladan : structure(1:6, dim = 2:3)

Mode penyimpanan untuk objek numeric (storage.mode)

integer, real, double precision

Biasanya seluruh objek numeric menggunakan mode double precision

Page 16: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

MATERI 1 MANAJEMEN DATA

Page 17: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK DATA

Objek data dasar dalam bahasa S:

Vektor

Matriks

Array

Factor

List

Data Frame

Page 18: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK VEKTOR

Vektor merupakan tipe sederhana dari objek data dalam S dalamhampir digunakan oleh semua objek data.

Semua elemen memiliki mode yang sama.

Untuk menciptakan vektor yang sederhana dapat menggunakanperintah concatenate (yaitu c)

Teladan :

x <- c(1.4, 13.2, 10.9)

y <- c(“sd”, “smp”, “sma”, “pt”)

Page 19: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK VEKTOR

Perintah-perintah untuk membuat vektor selain perintah c:

scan

rep

seq

vector

as.vector

operator :

unlist (lihat list di bawah)

Page 20: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP VEKTOR

Jika x adalah objek vektor, maka akses terhadap elemen ke-idilakukan melalui x[i]

Index i berupa bilangan integer atau nama dari index atau elemenlogical dari objek

Teladan :> x <- c(1.5,2.3,NA,5.4,3.3)

> names(x) <- c(’a’,’b’,’c’,’d’,’e’)

> x

a b c d e

1.5 2.3 NA 5.4 3.3

> x[2]

b

2.3

Page 21: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

> x[1:3]

a b c

1.5 2.3 NA

> x[c(2,4)]

b d

2.3 5.4

> x["d"]

d

5.4

> x[!is.na(x)]

a b d e

1.5 2.3 5.4 3.3

Page 22: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

> x[x>3]

<NA> d e

NA 5.4 3.3

> x[x>3 & !is.na(x)]

d e

5.4 3.3

Page 23: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

Bagaimana jika i negatif?> x[-5]

a b c d

1.5 2.3 NA 5.4

> x[-(1:3)]

d e

5.4 3.3

> x[-c(2,4)]

a c e

1.5 NA 3.3

Page 24: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK MATRIKS

Matriks merupakan objek data yang banyak digunakan dalamanalisis statistika

Matriks pada bahasa S umumnya dibuat melalui vektor.

Perintah-perintah untuk membuat matriks/mengkonversi vektormenjadi matriks:

matrix

dim

rbind

cbind

as.matrix

Page 25: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP MATRIKS

Jika mat adalah objek matriks, maka akses terhadap:

individual element : mat[m,n] atau mat[i]

baris : mat[m,]

kolom : mat[,n]

m, n dan i adalah bilangan integer, nama baris/kolom, logical

Bagaimana jika m, n, i adalah negatif?

Page 26: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK ARRAY

Matriks merupakan bentuk khusus dari Array. Perbedaan diantarakeduanya adalah dimensinya.

Matriks adalah Array berdimensi dua.

Perintah untuk membuat Array adalah:

array

dim

as.array

Page 27: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP ARRAY

Akses terhadap objek array, mirip dengan matriks

menggunakan operator []

Output yang diperoleh bisa berupa vektor, matriks atau array dengan dimensi yang sama atau lebih rendah

Page 28: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK FACTOR

Merupakan tipe khusus vektor dengan elemen data kategori

Faktor diprint tanpa diapit oleh quotes (””) memiliki metodeprint khusus

Pada dasarnya faktor adalah vektor yang mengindikasikan taraf(level) dari peubah kategori

Page 29: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK FACTOR

Perintah-perintah untuk membuat faktor:

factor

ordered

as.factor

as.ordered

Page 30: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP FACTOR

Sama seperti vektor

Page 31: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK LIST

List merupakan objek data yang elemen didalamnya boleh memilikimode atau objek yang berbeda.

Perintah-perintah untuk membuat list:

list

as.list

Umumnya list digunakan untuk menyimpan hasil suatu fungsi

Perintah unlist akan membuat list menjadi vektor.

Page 32: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP LIST

Akses terhadap list dapat dilakukan melalui beberapa cara.

By name : menggunakan operator $

By position : menggunakan operator [[]]

Sebagai vektor : menggunakan operator []

Page 33: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OBJEK DATA FRAME

Merupakan tipe khusus list yang digunakan untuk menyimpan data dari berbagai macam tipe dalam bentuk matriks.

Perintah-perintah untuk membuat data frames:

data.frame

read.table

as.data.frame

Page 34: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

AKSES TERHADAP DATA FRAME

Akses terhadap data frame berlaku seperti matriks dan list

matriks : dataolah[m,n]

list : dataolah$status atau dataolah[[2]]

Menggunakan fungsi attach dan detach -> memperlakukan sebagai vektor

Page 35: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ARITMETIKA

Aritmetika berhubungan dengan:

Operand

Operator

Fungsi

Operand :

Konstanta

contoh : 10 -1.5 1.5e10

Objek data

contoh : x y panjang

Page 36: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ARITMETIKA

Operator:

Page 37: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ARITMETIKA

Fungsi-fungsi standar yang sering digunakan

Fungsi konversi ke Integer : round, trunc, floor, ceiling

Fungsi umum : abs, sign, log, log10, sqrt, exp, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh

Fungsi jumlah dan product dari vektor: sum, prod, cumsum, cumprod

Fungsi Maksimum dan Minimum : max, min, cummax, cummin

Fungsi range(x) menghitung c(min(x), max(x))

Fungsi untuk mengurutkan : sort

Fungsi untuk membalikan : rev

Page 38: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ARITMETIKA

Missing value

Elemen dari vektor yang tidak diketahui atau tidak tersedia direpresentasikan olehnilai khusus : NA

Operasi dalam NA akan menghasilkan NA

x <- c(1.5, 2.3,NA)

mean(x)

[1] NA

Beberapa fungsi memiliki argumen na.rm atau yg mirip untuk tidak menyertakan NA dalam komputasi

Bedakan NA dengan NaN (Not a Number)

Page 39: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OPERASI PADA OBJEK DATA

Operasi dalam VektorMenggunakan element by element

Aturan Recycle Operasi dengan vektor yang memiliki panjang berbeda

Vektor dengan elemen sedikit akan diulang mengikuti vektor yang memiliki elemen paling banyak

Page 40: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OPERASI PADA OBJEK DATA

Operasi dalam Matriks Transpose : menggunakan fungsi t

Perkalian matriks : %*%

Vektor akan dipertimbangkan sebagai matriks

xtx --> x %*% x

xxt --> x %o% x

Fungsi diag menghasilkan matriks diagonal atau

mengambil diagonal matriks tergantung dari argumen

Page 41: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OPERASI PADA OBJEK DATA

Beberapa fungsi matriks:

solve --> menghasilkan solusi sistem persamaan linier atau matriks

invers

eigen --> menghasilkan nilai akar ciri dan vektor ciri

Page 42: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

OPERASI PADA OBJEK DATA

Operasi dalam KarakterKarakter dan string diapit oleh quotes (” --- ”)

Fungsi nchar menghitung banyaknya karakter dalam

string

Fungsi paste menciptakan/menjadikan mode objek

lain menjadi karakter

Fungsi substr/substring digunakan untukmengambil bagian dalam string

Page 43: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

STRUKTUR KENDALI

Eksekusi bersyarat

if (kondisi) perintah1 jika kondisi=T [else perintah2 jika kondisi=F ]

Jika perintah lebih dari satu dikelompok { }

ifelse(test, nilai jika T, nilai jika F)

Fungsi switch beberapa diantaranya akan lebih baik dibandingmenggunakan if tersarang.

Page 44: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

STRUKTUR KENDALI

Loops for (objek in sekuens) perintah

while (condition) perintah

repeat perintah (untuk menghentikan gunakan perintahbreak)

Page 45: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

STRUKTUR KENDALI

Pada beberapa kasus loops sebaiknya dihindari → Gunakan perintahapply

menjalankan fungsi untuk suatu array

Syntax :

apply(array, margin, function, named arguments)

margin : adalah subscript untuk vektor yang akan dikenakan fungsi

1 : baris, 2 : kolom, c(1,2) : baris dan kolom

named arguments : optional untuk argument dari fungsi

perintah lain yang sama : tapply, lapply, sapply

Page 46: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

DATA MUNGING/WRANGLING:

•Menciptakan variabel baru dalam dataframe

•Subsetting data

•Sorting data

•Recoding data

•Merging data

•Reshaping data

Page 47: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

MENCIPTAKAN VARIABEL BARU DALAMDATA FRAME

Lakukan seperti menciptakan vektor dengan menggunakan index atauoperator seleksi

dt$baru <- ekspresi

Page 48: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

SUBSETTING DATA

Hal penting untuk Subsetting data adalahmembuat vektor logical seperti yg diinginkan.

Harus dapat menterjemahkan idea rumit kedalam vektor logic

Fungsi yang digunakan :==, !=, >, >=, <, <=, %in%, duplicated,

is.na, is.null, is.numeric, dll…

Page 49: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI SUBSETTING DATA

Misalkan diinginkan dataset baru yang

memenuhi females di atas 7 pada v1

tetapi di bawah 10 pada v10, dan

males jika non-missing pada v4

Original dataset, a

Page 50: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

SORTING DATA

Langkah 1 – Buat vektor numerik yang terurut dari data yang akan diurutkan

Langkah 2 – Gunakan vektor ini sebagai index

Fungsi yang berguna: order(), sort(), which(), rev(), unique()

Page 51: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI SORTING DATA

Dataframe:

Katakan akan diurutkan berdasarkangender kemudian v1 jika male dan v2 apabila female secara ascending?

Page 52: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

Langkah 1 - Buat vektor numerik yang terurut dari data yang akandiurutkan

Step 2 - Gunakan vektor ini sebagai index

ILUSTRASI SORTING

Page 53: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

RECODING DATA

Paling umum menggunakan logical:dta$grupumur<-1*(dta$AGE<=30)+2*(dta$AGE>30)

Dapat menggunakan fungsi ifelsedta$grupumur<-ifelse(dta$AGE %in% 1:30,1,2)

Menggunakan fungsi recode (ada dalam paketcar):dta$grupumur = recode(dta$AGE,’1:30=1; else=2’)

Page 54: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

MERGING DATA

Menggunakan rbind atau cbind

Lebih mudah menggunakan fungsi merge

Page 55: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI MERGING DATA

Page 56: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

RESHAPING DATA

Membentuk data set baru dengancara:Long to wide data format

Wide to long data format

Menggunakan fungsi reshape()

Page 57: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI: RESHAPE(): LONG TO WIDE DATA FORMATS

df3 is in ‘long’ format

You must use two arguments:

•idvar = 1+ variables in long format identifying rows that are the same individual

•timevar = 1 variable that differentiates multiple records from same individual

‘wide’ format

Page 58: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI: RESHAPE(): LONG TO WIDE DATA FORMATS

df3 is in ‘long’ format

•idvar = 1+ variables in long format identifying rows that are the same individual

•timevar = 1 variable that differentiates multiple records from same individual

An alternative ‘wide’ format

Page 59: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

ILUSTRASI: RESHAPE(): WIDE TO LONG DATA FORMATS

wd is in ‘wide’ format

•varying = a LIST of column names in wide format that will be the same columns in the

long format

•v.names = a vector of names of the new columns in the long format

Page 60: STK 571 Komputasi Statistik - stat.ipb.ac.id · “Modern Applied Statistics with S”; Venables dan Ripley. 2004. ... dalam komputasi Bedakan NA dengan NaN (Not a Number) OPERASI

SELESAI