Petunjuk Praktikum
Petunjuk Praktikum
UN#&ERS#TAS KR#STEN SAT'A (A)ANA *++, Dalam petunjuk praktikum ini dikenalkan bagaimana menggunakan paket program R untuk menganalisis data statistika. Untuk menggunakan R dipilih menu program R sehingga akan muncul prompt > seperti pada contoh berikut ini :
R version 2.5.1 (2007-06-27) Copyright (C) 2007 The R Foundation for tatisti!a" Co#puting $ %& '-(00051-07-0 R is free soft)are and !o#es )ith *% +,-T.,/ &+ 0*RR*&T/. /ou are )e"!o#e to redistri1ute it under !ertain !onditions. Type 2"i!ense()2 or 2"i!en!e()2 for distri1ution detai"s. R is a !o""a1orative pro3e!t )ith #any !ontri1utors. Type 2!ontri1utors()2 for #ore infor#ation and 2!itation()2 on ho) to !ite R or R pa!4ages in pu1"i!ations. Type 2de#o()2 for so#e de#os5 2he"p()2 for on-"ine he"p5 or 2he"p.start()2 for an 6T7, 1ro)ser interfa!e to he"p. Type 28()2 to 8uit R. 9:revious"y saved )or4spa!e restored; <
Bila diinginkan untuk membatalkan perintah terakhir maka bias digunakan perintah CON RO!"C sehingga akan muncul promt > baru. Bila perintah #ang digunakan belum selesai maka R masih akan meminta perintah tambahan dengan tanda $%&.
< 8( = perintah yang tida4 "eng4ap > ) = pro#pt "an3utan
Dalam R huru' kecil dan huru' besar diinterpretasikan secara berbeda sebagai contoh b dan B diinterpretasikan secara berbeda. (uru' c tidak boleh digunakan karena merupakan perintah dasar dari R #ang digunakan untuk membuat )ektor. Bila ingin mengetahui penggunaan suatu perintah dapat digunakan perintah help seperti
< he"p(hist)
#ang digunakan untuk mengetahui perintah hist. Untuk memberikan keterangan dan tanpa mengeksekusi perintah itu digunakan tanda + #ang dalam bahasa pascal digunakan perintah , - atau ./ /0.
&ekt-r Struktur data #ang paling sederhana dalam R adalah )ector. Suatu )ector adalah suatu ob#ek tunggal #ang merupakan barisan bilangan1 teks atau s#mbol logika. Suatu )ector dengan nama 2 terdiri dari bilangan"bilangan 341 51 61 7 dapat dibuat dengan 'ungsi c.
< ? @- !(105 55 '5 6) <? 91; 10 5 ' 6
Dalam hal ini digunakan s#mbol pemberian $ 8" $ #ang dalam bahasa 9ascal digunakan tanda $ :: $. Sebarang bilangan dianggap sebagai )ector dengan panjang 3.
< y @- !(?50.5555?5?) <y 91; 10.000 5.000 '.000 6.000 0.555 10.000 5.000 '.000 6.000 10.000 911; 5.000 '.000 6.000
Untuk melakukan pembulatan dapat digunakan perintah round dengan memberikan control berapa ban#ak decimal #ang diperlukan di belakang koma seperti pada contoh berikut :
< round(y51) 91; 10.0 5.0 '.0 6.0 0.6 10.0 5.0 '.0 6.0 10.0 5.0 '.0 6.0
Simbol #ang digunakan dalam perhitungan adalah %1 "1 /1 ; sedangkan pangkat menggunakan perintah <. =ungsi standard #ang digunakan dalam R terdapat pada abel 3. Operasi dua )ektor tidak harus mempun#ai panjang #ang sama seperti contoh berikut ini :
<? 91; 10 5 ' 6 < a @- s8rt(?) > 1
abel 3. =ungsi standard #ang digunakan dalam penghitungan Nama .un/0i s>rt abs sin cos tan asin acos atan sinh cosh tanh asinh acosh atanh e2p log log34 gamma lgamma 'loor ceiling trunc round sign O1era0i akar nilai mutlak 'ungsi trigonometri 'ungsi hiperbolik 'ungsi in)ers hiperbolik 'ungsi eksponensial and logaritma natural logaritma dengan basis 34 gamma dan 'ungsi log"gamma pembulatan ke ba?ah1 pembulatan ke atas bagian bulat pembulatan tanda
(al ini dapat terjadi karena )ektor pada suku kedua mempun#ai panjang 3. etapi bila dua )ector #ang tidak sama panjang dijumlahkan .dioperasikan0 akan terjadi kesalahan dan muncul pesan berikut :
< A @- ? > y 0arning #essageC "onger o13e!t "ength is not a #u"tip"e of shorter o13e!t "ength inC ? > y <A
Untuk men#ingkat penulisan seringkali dihilangkan tanda $.$ dan $0& sehingga perlu diperhatikan prioritas pengertian operasi bila dua operasi digunakan secara berututan. abel * berikut ini dijelaskan tentang operasi #ang digunakan.
abel *. Urutan prioritas operasi R dari tingkat tinggi ke rendah. Operasi @ A AA < : /; %" 8 > 8: >: :: B: B C D CC DD 8" "> Nama Seleksi komponen Seleksi koordinat rans'ormasi pangkat Barisan 9erkalian dan pembagian 9enjumlahan dan pengurangan 9erbandingan logika 9engingkaran logika Dan 1 atau 9emberian 9rioritas ENFFE . . . . . . . . RGNDH(
Sebaikn#a bila digunakan urutan *4:3 akan memberikan indeks menurun. Bila diinginkan membuat barisan dengan selisih 415 digunakan perintah
< u @- se8(-'5'51yF0.5) <u 91; -'.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 '.0
=ungsi rep dapat digunakan untuk mereplikasi suatu )ector. Berikut ini contoh penggunaan 'ungsi rep.
< rep(1CD5D) 91; 1 2 ' D 1 2 ' D 1 2 ' D 1 2 ' D < rep(1CD5rep(D5D)) 91; 1 1 1 1 2 2 2 2 ' ' ' ' D D D D
&ekt-r l-/ika an karakter Di samping koordinat numerik1 )ektor dapat berisi logika = .=H!SG0 dan . RUG0 atau string karakter. Jektor logika juga dapat dibuat dengan perintah"perintah berikut :
<? 91; 10 5 ' 6 < y @- ?<( <y 91; TR-. F*, . F*, . F*, .
9erbandingan logika #ang digunakan adalah 81 8:1 >1 >: 1 :: dan B:. Sedangkan untuk operator logika digunakan C1 D dan B #ang berturut"turut berarti dan1 atau serta pengingkaran.
< ('@?) H (?@10) 91; F*, . TR-. F*, . TR-. < (Iy) 91; F*, . TR-. TR-. TR-.
Suatu )ektor juga dapat berisi karakter seperti pada contoh berikut ini :
< ? @- !(Jro) aJ5 Jro) 1J5 Jro) !J) <? 91; Jro) aJ Jro) 1J Jro) !J < "etters91C'; 91; JaJ J1J J!J < paste(Jro)J5"etters91C';) 91; Jro) aJ Jro) 1J Jro) !J
Bila dimiliki data #ang tidak lengkap maka pada program R disediakan simbol $NH& .not available0 seperti pada contoh berikut :
< ? @- !(&*5 15 D) <? 91; &* 1 D <?>1 91; &* 2 5 < is.na(?) 91; TR-. F*, . F*, .
Bila diinginkan menampilkan nilai 2 untuk indeks ke"i dapat digunakan 2AiK dan berikut ini beberapa contoh #ang lain. 9erhatikan apa #ang terjadi dengan perintah"perintah tersebut.
< ? @- !(10555'56) <? 91; 10 5 ' 6 < y @- ?<( < ?9y; 91; 10 < ?9?<(; 91; 10 < ?9-(1C2); 91; ' 6
$un/0i Dalam R dikenal ban#ak sekali 'ungsi standard. Di samping itu dapat juga ditulis 'ungsi"'ungsi sesuai dengan kebutuhan kita. Untuk memanggil 'ungsi dapat digunakan perintah berikut ini :
< na#aKfungsi(argu#entK15 argu#entK25 L.)
Di samping itu untuk 'ungsi #ang tidak mempun#ai argument dapat dipanggil dengan menggunakan perintah berikut ini :
< na#aKfungsi( )
Bila han#a nama 'ungsi saja #ang dipanggil maka ditmpilkan perintah"perintah #ang mempun#ai de'inisi dari 'ungsi tersebut. Hrgumen dapat berupa argument ?ajib atau argument optional. Hrgumen ?ajib harus diberikan sedangkan argument optional tidak harus diberikan. Hrgumen optional dapat ditengarai dengan kontruksi namaLargumen : nilai. Sebagai contoh :
<se8(-'5 '5 "engthF1000)
masing"masing memberikan hasil panjang )ektor 21 jumlah1 produk1 maksimum1 minimum dari koordinat"koordinatn#a. Di samping itu juga digunakan perintah :
< su#(?5y) 91; (6.555 < prod(?5y)
Untuk mengurutkan data dapat digunakan perintah sort sedangkan perintah order digunakan untuk menentukan letak dimana data tersebut diurutkan. 9erhatikan apa #ang terjadi bila digunakan perintah berikut ini :
< ?9order(?); 91; ' 5 6 10 < rev(sort(?)) 91; 10 6 5 ' < rev(?) 91; 6 ' 5 10
9erintah uni2ue(3) digunakan untuk menghasilkan koordinat"koordinat #ang berbeda dalam )ektor 2 sedangkan untuk melihat apakah koordinat"koordinat #ang berbeda dalam )ektor 2 sedangkan untuk melihat apakah koordinatn#a terduplikasi digunakan perintah u1li"ate(3). 9erhatikan apakah #ang terjadi dengan perintah"perintah berikut ini :
< diff(?) 91; -5 -2 ' < diff(?5"agF2) 91; -7 1 < diff(?5 "agF15 differen!esF2) 91; ' 5
Beberapa 'ungsi #ang digunakan dalam peringkasan data statistika din#atakan pada abel 6. Dalam R juga disediakan perhitungan 'ungsi distribusi1 'ungsi densitas1 'ungsi kuantil dan perintah untuk membangkitkan sampel random. Nama"nama setiap 'ungsi selalu menggunakan nama sesuai dengan distribusin#a dengan dia?ali huru' : p .probabilit#0 : 'ungsi distribusi d .densit#0 : 'ungsi densitas O
abel 6 . =ungsi"'ungsi statistika dalam R Nama =ungsi mean.20 mean.21 trim: 0 median.20 )ar.20 mad.20 range.20 i>r.20 ske?ness.20 kurtosis.20 >uantile.21prob0 stem.20 )ar.21#0 cor.21#0 ac'.21plot:=0 Operasi Rata"rata Rata"rata terpancung .trimmed mean0 Median Jariansi1 matriks ko)ariansi Median de)iasi absolut Jektor.min.201 ma2.200 Pangkauan antar kuartil Qemencengan Qurtosis Quantil Stem and lea'plot Co)ariansi Qoe'isien korelasi Qoe'isien korelasi parsial
Dalam hal ini m dan s argument optional #ang harus diberikan untuk distribusi normal selain distribusi normal standard. Hgumen n dalam rn-rm berarti ukuran sampel #ang harus diberikan dan x men#atakan domain dari 'ungsi tersebut. Beberapa 'ungsi #ang biasa digunakan dalam teori probabilitas dan statistika din#atakan pada abel I. abel I. abel 'ungsi probabilitas #ang digunakan dalam R.
Qode .dimulai dengan huru' kecil0 beta binom cauch# chis> e2p ' gamma geom h#per lnorm logis nbinom norm pois distribusi Beta Binomial Cauch# Chi"kuadrat Gksponensial = Famma Feometrik (ipergeometrik !ognormal !ogistik Binomial negati' Normal 9oisson parameter Shape31 shape* SiRe1 prob !ocation1 scale D' Rate D'31 d'* Shape 9rob M1 n1 k Meanlog1 sdlog !ocation1 scale SiRe1 prob Mean1 sd !ambda de'aults
=ungsi 0am1le digunakan untuk melakukan pengambilan perintah dari populasi #ang diberikan dalam 2 dengan atau tanpa pengembalian. Di samping itu juga digunakan untuk menghasilkan permutasi. 9erhatikan apa #ang terjadi dari perintah"perintah berikut ini :
< sa#p"e(?5') 91; 6 ' 10 < sa#p"e(?) 91; 10 6 5 ' < sa#p"e(?5105rep"a!eFT) 91; 6 ' 5 5 5 ' 6 10 6 6
Bilangan random dihasilkan dengan menggunakan nilai"nilai #ang ada pada )ektor .Random.seed. 9erhatikan apa #ang terjadi bila digunakan perintah"perintah berikut : Gra.ik Untuk menggambarkan gra'ik dengan bantuan R terlebih dulu dipanggil ?indo? #ang digunakan untuk menggambarkan gra'ik. 9erintah untuk memanggil ?indo? adalah
< )in.graph()
Sebagian besar perintah #ang digunakan untuk menggambarkan gra'ik menggunakan kata plot. 9erhatikan perintah"perintah berikut ini dan amati apa #ang terjadi dengan perintah tersebut.
< ? @- rnor#(50) < y @- rnor#(50) < p"ot(?5y) < tit"e(JMa#1ar 1J)
9erintah"perintah lain #ang digunakan untuk menggambarkan gra'ik histogram1 bo2plot dan >>"plot adalah sebagai berikut :
< ? @- rnor#(50) < hist(?) < te?t(0555J6istogra#J) < tit"e(JMa#1ar 'J) < 1o?p"ot(?5 #ainFJMa#1ar DJ5 sty"e.1?pFJo"dJ) < 88nor#(?)
34
Di samping itu dalam satu gambar;?indo? dapat dibuat beberapa macam gra'ik dengan memberikan perintah berikut ini :
< par(#fro)F!(252))
Waitu digunakan untuk menggambarkan gra'ik seban#ak * * dalam satu ?indo?. abel berikut ini memberikan da'tar argumen optional #ang digunakan dalam menggambarkan gra'ik.
abel 5. abel da'tar argumen dalam menggambar gra'ik. Nama 2lab : U2labelV #lab : U#labelV 2lim:c.l1r0 #lim:c.l1h0 main:VtitleV sub:VsubtitleV lt#:n Hrti !abel pada sumbu"2 !abel pada sumbu"# Range pada sumbu 2 dari 3 sampai dengan r Range pada sumbu"# dari3 sampai dengan h Pudul pada bagian atas gambar Pudul pada bagian ba?ah gambar ipe garis : n:31 n:*1 61 ... 1 putus"putus
33
%i0t !ist adalah suatu )ektor dimana komponen"komponenn#a mempun#ai tipe #ang mungkin berbeda. Sebagai contoh suatu list dapat terdiri dari )ektor numerik1 )ektor karakter1 list bagian #ang lain .sublist0 dan suatu 'ungsi. Seringkali hasil suatu 'ungsi standard seperti l0.it berupa suatu list. 9erhatikan contoh berikut ini :
< ? @- 1C5 < y @- ? > rnor#(55 05 0.25) < A @- "sfit(?5y) <A N!oeffi!ients $nter!ept O -0.0'0D'D27 0.(2E61(17 Nresidua"s 91; 0.072D150D -0.0'0('66( -0.0D11D67( -0.11D55651 0.11D22D(5 Ninter!ept 91; TR-. N8r N8t 91; -6.161'1'67 2.('655166 -0.072E2102 -0.16127'21 0.052D657E N8r $nter!ept O 915; -2.2'606E0 -6.70E20'( 925; 0.DD721'6 '.1622777 9'5; 0.DD721'6 -0.1(5D'(5 9D5; 0.DD721'6 -0.511667' 955; 0.DD721'6 -0.E27E(50 N8rau? 91; 1.DD721D 1.1207EE Nran4 91; 2 Npivot 91; 1 2
3*
Dalam list R ini komponen pertama terdiri dari matriks . 3 * 0 #aitu intercept dan gradien garis #ang diperoleh dengan metode kuadrat terkecil. Qomponen"komponen dalam list dapat dipilih dengan cara perintah"perintah berikut ini.
< A991;; $nter!ept O -0.0'0D'D27 0.(2E61(17 < ANresidua"s 91; 0.072D150D -0.0'0('66( -0.0D11D67( -0.11D55651 0.11D22D(5 < ANresidua"s9D; 91; -0.11D5565
Suatu list dapat juga dibentuk dengan menggunakan perintah list seperti pada contoh berikut ini :
< ? @- 1C5 < y @- "ist(1i"anganF?5 yatida4FT) <y N1i"angan 91; 1 2 ' D 5 Nyatida4 91; TR-. < yNyatida4 91; TR-.
=ungsi names dapat digunakan untuk memanggil nama"nama komponen dalam suatu list seperti pada contoh berikut ini dan perhatikan apa #ang terjadi :
< na#es(y) 91; J1i"anganJ Jyatida4J < na#es(y) @- !(Jno#orJ5Jdi#anaJ) <y Nno#or 91; 1 2 ' D 5 Ndi#ana 91; TR-.
Matrik0 an Arra4 Suatu matriks dapat dibentuk dengan cara berikut ini :
< ? @- 1CE < di#(?) @- !(25D) <?
36
951; 952; 95'; 95D; 915; 1 ' 5 7 925; 2 D 6 E < ? @- #atri?(1CE5 25 D5 1yro)FF) <? 951; 952; 95'; 95D; 915; 1 ' 5 7 925; 2 D 6 E
Matriks juga dapat dibentuk dengan menggabungkan sejumlah )ektor seperti pada contoh berikut ini :
< !1ind(!(152)5!('5D)) 951; 952; 915; 1 ' 925; 2 D
9ada matriks dapat dikenakan operasi"operasi seperti pada contoh berikut ini :
< t(?) 951; 952; 915; 1 2 925; ' D 9'5; 5 6 9D5; 7 E < app"y(?515#ean) 91; D 5 < app"y(?515#in) 91; 1 2 < app"y(?525#in) 91; 1 ' 5 7
3I
951; 952; 95'; 95D; 915; F*, . F*, . F*, . TR-. 925; F*, . F*, . TR-. TR-.
=ungsi"'ungsi dasar #ang dapat digunakan dalam operasi matriks din#atakan pada abel . matriks merupakan arra# berdimensi dua. Operasi"operasi #ang din#atakan dalam arra# analog dengan operasi #ang digunakan dalam matriks. Di samping itu dalam arra# juga digunakan perintah imname0.
abel 5. abel 'ungsi #ang digunakan dalam operasi matriks Nama 'ungsi ncol.20 nro?.20 t.20 diag.20 col.20 ro?.20 cbind.20 rbind.20 appl#.2131'unction0 appl#.21*1'unction0 X/X sol)e.20 sol)e.H1b0 backsol)e.20 eigen.20 chol.201 choleski.20 >r.20 s)d.20 cancor.21#0 )ar.20 Operasi Ban#ak kolom matriks 2 Ban#ak baris matriks 2 ranspose matriks 2 Membuat diagonal matriks dari )ektor atau membentuk )ektor diagonal dari suatu matriks Matriks dari nomor kolom Matriks dari nomor baris Membentuk kolom"kolom menjadi matriks Membentuk baris"baris menjadi matriks Menggunakan 'unction pada baris Menggunakan 'unction pada kolom 9erkalian dua matriks En)ers matriks 2 9en#elesaian sistem persamaan H2:b 9en#elesaian sistem persamaan H2 : b Gigen )alue matriks 2 Dekomposisi choleski Dekomposisi Y"r Single )alue decomposition Qorelasi kanonik Matriks ko)ariansi dari kolom
Data-$rame0 Glemen"elemen dalam suatu matriks mempun#ai m- e #ang sama seperti numerik1 karakter atau logika. Dalam ata..rame secara esensi sama dengan matriks tapi moden#a boleh berbeda. Untuk membuat ata..rame dapat digunakan perintah" perintah berikut ini :
< ? @- !(J7J5 JPJ5 JPJ) < y @- !(1.7(5 1.615 0.E0) < A @- !(T5F5T) < data.fra#e(?5y5A) ? y A 1 7 1.7( TR-. 2 P 1.61 F*, . ' P 0.E0 TR-.
35
Untuk menginputkan data dapat digunakan perintah scan seperti pada perintah berikut ini :
< ? @- s!an() 1C 1 2.5 '.1D15( DC Read ' ite#s <? 91; 1.00000 2.50000 '.1D15(
Enput ditutup dengan memberikan perintah GN GR atau CON RO!"D pada baris terakhir. $un/0i (.un"ti-n) an Penuli0ann4a 9aket program R dapat dipergunakan untuk menuliskan 'ungsi sesuai #ang diperlukan. Suatu 'ungsi dide'inisikan sebagai :
< na#afun!tion(arg15 arg25 L.)
Untuk mengurangi kesalahan suatu 'ungsi #ang panjang dapat ditulis terlebih dahulu pada paket programme Notepad. Qemudian di "-14 dan 1a0te pada R. Hrgumen suatu 'ngsi dapat dibuat de'ault dengan mengkonstruksikan sebagai arg: nilai defaultnya. Berikut ini diberikan contoh sederhana untuk argument dengan nilai de'ault #ang diberikan :
< pang4at @- fun!tion(?5 4F2) ?R4
Hrgumen dari suatu 'ungsi dapat berupa 'ungsi juga seperti pada contoh berikut ini :
37
< rdistri1usi @- fun!tion(n58distri1usi) >Q > u @- runif(n) > 8distri1usi(u) >S < rdistri1usi(1058nor#) 91; 0.D5E775D' -0.1(5''D'D -0.5626551( -1.05D5((D5 -1.56(1'622 1.00(7('65 97; -0.0(5'6D0D 0.'51'E1'6 -0.EE1'E2(E 1.'DD1DE0E
Bila dalam suatu 'ungsi argument lain juga dipanggil maka argument tersebut dapat digunakan sebagai argument 'ungsi baru :
< rdistri1usi @- fun!tion(n58distri1usi5#eanF05sdevF1) >Q > u @- runif(n) > 8distri1usi(u5#ean5sdev) >S < rdistri1usi(558nor#) 91; 0.6(0''57 0.''6'E'' 0.11(0270 -0.ED0506( 0.'(77DD' < rdistri1usi(558nor#5D5() 91; -0.65''226 E.667(21E '.(71557' 11.'001721 0.((E5210
Bila digunakan untuk operasi loop maka aturan penggunaan .-r adalah : 3N
Sebagai pengganti statemen .-r dapat digunakan statemen !hile #ang mempun#ai aturan penggunaan :
< )hi"e (!ondition) e?pression
Di samping itu dapat juga dipergunakan perintah repeat #ang mempun#ai aturan penggunaan : > repeat , ZZ i' .condition0 break ZZZ -
3O
Funakan perintah repeat #ang hampir sama penggunaann#a dengan perintah .-r dan !hile. ////
3S