Anda di halaman 1dari 19

Petunjuk Praktikum PENGGUNAAN PAKET PROGRAM R ( R-STAT )

Oleh : Dr. A i Setia!an M. S"

PROGRAM STUD# MATEMAT#KA $AKU%TAS SA#NS DAN MATEMAT#KA

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; <

Sesudah selesai menggunakan paket program R untuk keluar digunakan perintah :


< 8()

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

9erhitungan dengan )ector dapat digunakan 'ungsi berikut ini :


<? 91; 10 5 ' 6 < A @- ?B? <A 91; 100 25 ( '6

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(

Untuk membuat indeks secara cepat dapat digunakan perintah I

< inde? @- 1C20 < inde? 91; 1 2 ' D 5 6 7 E ( 10 11 12 1' 1D 15 16 17 1E 1( 20

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

Cara lain untuk membuat )ektor #ang sama adalah


< u @- se8(-'5'5"engthF1') <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 < u @- (-6)C6G2 <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-.

9erhatikan perintah"perintah berikut ini dan apa #ang terjadi : 5

< su#(?) < su#(?<()

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

9erhatikan perintah"perintah berikut ini dan apa #ang terjadi :


<y 91; TR-. F*, . F*, . F*, . < #ode(y) @- Jnu#eri!J <y 91; 1 0 0 0 < #ode(y) @- J"ogi!a"J <y 91; TR-. F*, . F*, . F*, .

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

< ?9?@0; @- 0 < y9y@0; @- -y9y@0; < ? @- nu#eri!(5) <? 91; 0 0 0 0 0

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

Mempun#ai argumen optional dengan nama $length&. Mani1ula0i Data =ungsi


<? 91; 10 5 ' 6 < "ength(?) 91; D < su#(?) 91; 2D < prod(?) 91; (00 < #a?(?) 91; 10 < #in(?) 91; '

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)

91; '6D1'5500000 < #a?(?5y) 91; 10 < #in(?5y) 91; 0.555

9erhatikan penggunaan perintah berikut ini :


< !u#su#(rep(1510)) 91; 1 2 ' D 5 6 7 E ( 10

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

=ungsi rank digunakan untuk menghitung nomor rank dari )ektor 2.


< ran4(?) 91; D 2 1 '

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

> .>uantile0 : 'ungsi kuantil r .random0 : membangkitkan sample random

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

Sebagai contoh untuk distribusi normal digunakan perintah :


< pnor#(?5#5s) < dnor#(?5 #5s) < 8nor#(u5#5s) < rnor#(n5 #5 s)

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

stab t uni' ?eibull ?ilco2on

Stabil Student t (omogen Teibull ?ilco2on

Ende21 ske? D' Shape M1 n

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

9ilihan tipe UlV digunakan untuk menggambar kur)a mulus.


u @- se8(05DBpi51yF0.05) < v @- sin(u) < p"ot(u5v5typeFJ"J5 y"a1FJsinJ) < tit"e(JMa#1ar 2J)

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

< tit"e(JMa#1ar DJ)

9erhatikan kegunaan perintah"perintah berikut ini :


< ? @- rnor#(100) < range(?) 91; -1.716EDD 2.D(61'0 < hist(?5 ?"i#F!(-D5D)5 ?"a1FJ J5 pro1FT) < u @- se8(-D5D51yF0.1) < "ines(u5 dnor#(u)) < tit"e(JMa#1ar 6J)

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

9erhatikan 'ungsi"'ungsi #ang digunakan untuk membuat plot tingkat tinggi.


< ? @- rnor#(50) < y @- rnor#(50) < p"ot(?5y5typeFJ"J) < 1o?p"ot(?) < 88nor#(?) < 88p"ot(?5y)

dan 'ungsi"'ungsi #ang digunakan untuk membuat plot tingkat rendah


< ? @- 1C10 < y @- 5 > 2B? > rnor#(10) < p"ot(?5y) < "ines(?5y)

33

< tit"e(Jtit"eJ5Jsu1tit"eJ) < te?t(?5y) < points(?5y)

9erhatikan perintah berikut dan amati apa #ang terjadi :


< ? @- r!au!hy < y @- runif(20) < p"ot(?5y5typeFJpJ5#ainFJMa#1ar 7J) < u @- dnor#(se8(-15150.1)5 050.5) < A @- outer(u5u) < persp(A) < tit"e(JMa#1ar EJ)

%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*

Nto" 91; 1e-07 attr(5J!"assJ) 91; J8rJ

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

9erhatikan perintah"perintah berikut ini dan man'aatn#a : 2AsubcriptK


<? 951; 952; 95'; 95D; 915; 1 ' 5 7 925; 2 D 6 E < ?915'; 91; 5 < ?915; 91; 1 ' 5 7 < ?95-2; 951; 952; 95'; 915; 1 5 7 925; 2 6 E

9erhatikan apa #ang terjadi dengan perintah"perintah berikut ini :


< ?9?<5; 91; 6 7 E < ?<5

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

Sebagai contoh 'ungsi #ang sederhana adalah seperti berikut ini :


< sdev @- fun!tion(?) s8rt(var(?))

=ungsi #ang lebih kompleks adalah seperti berikut ini :


< 4urtosis @- fun!tion(?) >Q > #o#enD @- su#((?-#ean(?))RD)G("ength(?)-1) > #o#en2 @- var(?) > #o#enDG(#o#en2)R2 >S

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

Bandingkan dengan perintah berikut ini :


< rdistri1usi @- fun!tion(n58distri1usi5...) >Q > u @- runif(n) > 8distri1usi(u5...) >S < rdistri1usi(558nor#) 91; -1.0D55267 1.2(716D7 0.5127(66 -1.'E70'56 0.'D16D56 < rdistri1usi(558nor#5D5() 91; -1.75((E60 7.2'1EE06 1.020ED(D -E.1E6216D -0.61'D(5E < rdistri1usi(558pois52) 91; 0 5 0 1 2

Statemen i' dapat digunakan dengan aturan


< if (!ondition) e?pression1 < if (!ondition) e?pression1 else e?pression2

Contoh berikut ini gambaran penggunaan i..


< y @- nu#eri!(10) < ? @- runif(105-151) < if( any(? @F 0) ) y @- "og(1>?) e"se y @- "og(?) <y 91; 0.1(627'' -1.55ED267 -0.'E2E1DD -1.((15D1E -2.E(((70E 0.2'62D00 97; -0.D6''D'2 0.6'65''' -0.E(D5111 -0.(1''0(D

Bila digunakan untuk operasi loop maka aturan penggunaan .-r adalah : 3N

< for (na#a in ni"ai-ni"ai) e?pression

Berikut ini contoh penggunaan .-r :


< ? @- y @- &-,, <? &-,, < for (i in 1C10) Q ? @- !(?5i)T y @- !(y50) S <? 91; 1 2 ' D 5 6 7 E ( 10 <y 91; 0 0 0 0 0 0 0 0 0 0

Sebagai pengganti statemen .-r dapat digunakan statemen !hile #ang mempun#ai aturan penggunaan :
< )hi"e (!ondition) e?pression

Contoh berikut ini memberikan ilustrasi kapan perintah !hile digunakan :


< ? @- nu#eri!(10) <? 91; 0 0 0 0 0 0 0 0 0 0 < i @- 0 < )hi"e (i @ 10) >Q > i @- i > 1 > ?9i; @- i >S <? 91; 1 2 ' D 5 6 7 E ( 10

Bandingkan dengan perintah berikut ini :


< ? @- 1C10 <? 91; 1 2 ' D 5 6 7 E ( 10

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

Anda mungkin juga menyukai