PENGENALAN BAHASA R UNTUK ANALISIS DATA DAN GRAPHIK
I G.A. Anom Yudistira Yudistira
(D1392) e-mail: anom1392le!"#$e$%&in#'%a!%i
URUSAN STATISTIKA *AKULTAS +ATE+ATIKA DAN IL+U PENGETAHUAN ALA+ UNI,ERSITAS BINA NUSANTARA
2. 1. Pengantar
R adalah suatu sistem untuk analisis statistik dan grafik yang diciptakan oleh Ross Ihaka dan Robert Gentlem Gentleman. an. Kelebihan Kelebihan yang diperoleh diperoleh bila menggunakan menggunakan bahasa R untuk pengajaran statistik adalah: •
• • • • • •
R dapat dapat diperol diperoleh eh dengan dengan gratis. gratis. R merupaka merupakan n suatu suatu open-source open-source dan dapat diguna digunakan kan pada pada berbag berbagai ai siste sistem m operasi operasi sepert sepertii UNIX UNIX !indo" !indo"s s #inu$ #inu$ dan %acintosh. R memiliki sistem bantuan &help &help'' yang canggih. R memiliki kemampuan membuat grafik yang canggih. %ahasi %ahasis"a s"a dapat dengan dengan mudah mudah berpin berpindah dah ke sistem sistem komersia komersiall S-Plus S-Plus bila soft"are komersial diperlukan. (ahasa (ahasa R mempun mempunyai yai kemamp kemampuan uan yang yang tanggu tangguh h sinta$ sinta$nya nya mudah mudah dipela dipelajar jarii dengan banyak fungsi)fungsi statistik yang terpasang &built-in &built-in'. '. (ahasa (ahasa R dapat dapat dengan dengan mudah mudah diperl diperluas uas dengan dengan mencip menciptak takan an fungsi fungsi)fu )fungs ngsii buatan pengguna sendiri. R merupakan bahasa pemrograman komputer sehingga bagi pemrogram menjadi lebih akrab sedangkan sedangkan bagi pemakai pemakai a"al akan merupakan merupakan langkah yang mudah untuk memulai sebagai pemrogram komputer.
*pa yang menjadi kelemahan R dibandingkan dengan soft"are)soft"are statistik yang lain. • • •
R memiliki antarmuka untuk grafik yang terbatas &+),lus memiliki lebih banya k'. -idak -idak tersed tersedia ia dukungan dukungan komers komersial ial &tetap &tetapii maili mailing ng list list intern internasi asiona onall dapat dapat menggantikannya'. ,erintah)pe ,erintah)perint rintahnya ahnya merupakan merupakan bahasa pemrograman pemrograman jadi mahasis"a mahasis"a harus mempelajari sintaksnya.
+ebagaian +ebagaian besar fungsi)fungsi fungsi)fungsi +),lus +),lus dapat digunakan pada R. ungsi)fung ungsi)fungsi si tersebut tersebut dapat dilihat di: http://""".insightful.com/products/splus/default.html atau di http://stat.cmu.edu/+/.. +edan http://stat.cmu.edu/+/ +edangk gkan an alam alamat at "eb "eb untuk untuk baha bahasa sa R adala adalah h http://""".r) project.org file instalasi R dapat di do"nload gratis di 0R*N pada "eb ini. project.org 2. Baga Bagaim iman ana a R bek beker erja ja
R adalah bahasa pemrograman pemrograman berorienta berorientasi si objek yang artinya semua peubah data fungsi hasil dan sebagainya disimpan dalam memori aktif komputer dalam bentuk objek yang mempunya mempunyaii nama. nama. ,enggun ,enggunaa dapat dapat melaku melakukan kan aksi terhadap terhadap objek ini dengan dengan menggunaka operator &aritmatik &aritmatik logikal dan pembanding' dan fungsi &yang &yang dia sendiri merupakan merupakan objek'. objek'. +emua aksi R dilakukan dilakukan pada pada objek)objek objek)objek yang ada pada memori memori aktif komputer: tampa menggunakan file temporer &temporary &temporary file'. file'. ,roses membaca dan menulis file hanya digunakan untuk input dan ouput data dan hasil &grafik1'. &grafik1'. ,engguna mengeksekusi fungsi melalui serangkaian perintah dan hasilnya ditampilkan langsung pada layar disimpan pada objek atau ditulis ke hard disk &khususnya grafik'. Karena hasil itu sendiri merupakan objek maka ia dapat dipandang sebagai data dan dianalisa sebagaimana sebagaimana halnya data. ile)file ile)file data dapat dibaca dibaca dari disk lokal atau atau ser2er malalui malalui internet. 2/21 Anom Yudistira (D1392) e-mail:
[email protected]
ungsi)fungsi yang tersedia untuk pengguna disimpan pada sebuah library di disk dalam sebuah direktori bernama R345%6/library &R345%6 adalah direktori dimana R terpasang'. 7irektori ini berisi fungsi)fungsi packages yang mana mereka tersusun dalam direktori)direktori. ,ackage yang bernama base merupakan inti dari R yang berisi fungsi)fungsi dasar dari bahasa R untuk membaca dan memanipulasi data beberapa fungsi)fungsi grafik dan sebagian fungsi)fungsi statistik. +etiap package berada pada direktori R dan direktorinya diberi nama sama dengan nama package tersebut. %isal package base file)filenya ada pada R345%6/library/base/R/base. 3. Data Starting R
+atelah anda membuka R maka pada console akan tampil sebagai berikut
-anda 8 disebut prompt. -anda ini muncul secara otomatis tidak perlu diketik yang mana berguna sebagai penunjuk dimana anda akan mengetikkan perintah)perintah R seperti pada teladan di ba"ah ini. 9ika sebuah perintah terlalu panjang maka anda dapat melanjutkan ke baris berikutnya &dengan menekan enter' dan akan muncul tanda sebagai prompt yang berarti kelanjutan dari baris di atasnya.
3/21 Anom Yudistira (D1392) e-mail:
[email protected]
%enciptakan object dalam memori aktif +ebuah object dapat diciptakan dengan operator ;<- atau ->< untuk 2ersi =.> ke atas dapat dengan operator ;?<. -eladan: (uatlah objek n yang bernilai =@ &dalam bahasa sehari)hari objek n adalah 2ariabel n' > n<-1 > n !1" 1 > 1->n > n !1" 1 > n#1$ > n !1" 1$
% nilai ob&e' n an lama (1) di*a+us , dianti denan 1$
+emua kata dibelakan tanda A tidak akan diproses oleh R. (ahasa R sensitif terhadap huruf besar atau kecil &case sensitive' "alaupun menggunakan sistem operasi "indo"s. 9adi objek $ dan X merupakan objek yang berbeda. > <-1 > <-1$ > !1" 1 > !1" 1$
Nilai yang diberikan pada sebuah objek dapat merupakan hasil dari suatu operasi dan/atau fungsi. > n<-2 > n !1" 0 > n<-2rnorm(1) % unsi rnorm(1) memban'it'an sebua* +euaba* aca' normal ba'u > n !1" 2.0230
*nda dapat menuliskan ekpresi tanpa menyimpan hasilnya ke objek &memori' tetapi menampilkan secara langsung ke layar. > (1$2)43 !1" 3 > s5rt(1) % unsi a'ar 'uadrat !1" 6
%emasukkan 7ata dengan fungsi c 7ata dengan jumlah kecil lebih efisien dimasukkan dengan menggunakan fungsi c. %isalakan anda akan memasukkan data jumlah salah ketik per halaman untuk B lembar halaman ketikan datanya adalah: 2 3 $ 3 1 $ $ 1 6/21 Anom Yudistira (D1392) e-mail:
[email protected]
> salti'<-c(2737$73717$7$71) > salti' !1" 2 3 $ 3 1 $ $ 1
Rata)rata median ragam dan simpangan baku dari data yang disimpan pada peuabah saltik diperoleh dengan menggunakan fungsi)fungsi berikut: > mean(salti') !1" 1.2 > median(salti') !1" 1 > 8ar(salti') !1" 1.620 > sd(salti') !1" 1.2106
% rata-rata % median % raam sam+el % sim+anan ba'u sam+el
Ringkasan statistiknya diperoleh dengan fungsi summary > summar(salti') in. 1st u. edian $.$$ $.$$ 1.$$
ean 3rd u. 1.2 2.2
a. 3.$$
(ila anda bermaksud untuk mengambil satu persatu nilai ringkasan statistik dari saltik maka lakukan serangkaian perintah berikut. > rin'as<-summar(salti') > rin'as!1" % ambil nilai ob&e' rin'as +ada urutan 1 in. $ > rin'as!2" % ambil nilai ob&e' rin'as +ada urutan 2 1st u. $ > rin'as!" % ambil nilai ob&e' rin'as +ada urutan 3rd u. 2.2
7ata sebagai vektor +ebagaimana telah terlihat sebelumnya data oleh R diperlakukan sebagai sebuah 2ektor. +ehingga urutan pemasukkan datanya akan terlacak. > salti'!2" % data salti' +ada urutan 27 +er*ati'an una'an 'urun si'u !1" 3 > salti'!" % data salti' +ada urutan !1" 1
%isalkan
kita
mempunyai dua buah data salah ketik sebagai berikut. 2737$73717$7$71 dimasukkan ke objek salti'.dra1 dan data $737$737$7$71 dimasukkan ke objek salti'.dra2. ,eubah salti'.dra2 hanya berbeda pada data urutan = dengan salti'.dra2 maka lebih efisien memasukkan datanya adalah sebagai berikut. > salti'.dra1<-c(2737$73717$7$71)
/21 Anom Yudistira (D1392) e-mail:
[email protected]
> salti'.dra2<-salti'.dra1 % co+ data salti'.dra1 'e salti'.dra2 > salti'.dra2!1"<-$ % anti nilai data +ada urutan satu denan $ > salti'.dra1 !1" 2 3 $ 3 1 $ $ 1 > salti'.dra2 !1" $ 3 $ 3 1 $ $ 1 > salti'.dra2!6" % data urutan 6 !1" 3 > salti'.dra2!-6" % semua data 'ecuali urutan 6 !1" $ 3 $ 1 $ $ 1 > salti'.dra2!c(17273)" % data urutan 172 dan 3 !1" $ 3 $
%isalkan anda ingin mengetahui jumlah salah ketik yang paling banyak dan ada pada halaman mana sajaC maka gunakan rangkain perintah berikut. > ma(salti'.dra2) !1" 3 > salti'.dra2##3 % o+erator com+arison ## berarti sama denan !1" ;A= ? ;A= ? ;A= ;A= ;A= ;A= > B*ic*(salti'.dra2##3) % unsi ini mencari urutan data an bernilai ? !1" 2 6
(ila anda tidak menggunakan fungsi "hich maka dapat dilakukan dengan cara yang lebih meutar yaitu. > n<-lent*(salti'.dra2) % bera+a bana' data (*alaman) > *al<-1:n % cara untu' mmmenda+at'an nomor *alaman > *al !1" 1 2 3 6 0 > *al!salti'.dra2##3" !1" 2 6
perintah *al<-1:n adalah cara ringkas untuk menuliskan perintah *al<-c(1:n). 0ara yang lebih ringkas untuk menuliskan perintah)perintah untuk mendapatkan nomor halaman dengan salah ketik terbanyak adalah. > (1:lent*(salti'.dra2))!salti'.dra2##3" !1" 2 6
%ungkin anda ingin mengetahui berapa jumlah salah ketik dari seluruh draf D mungkin juga ingin mengetahui berapa banyak halaman dengan salah ketik lebih dari D dan terakhir berapa perbedaan salah ketik untuk setiap halaman yang bersesuaian. Untuk mendapatkan ja"abannya perhatikan perintah)perintah berikut. > sum(salti'.dra2) % bera+a ¨a* sala* 'eti' ($3$31$$1) !1" > sum(salti'.dra2>2) % bera+a bana' *al. d. sala* 'eti' lebi* dari 2 !1" 2 > salti'.dra1-salti'.dra2 !1" 2 $ $ $ $ $ $ $
/21 Anom Yudistira (D1392) e-mail:
[email protected]
Latihan
=. %asukkanlah data di ba"ah ini dengan fungsi c dan letakkan pada objek $ >@ >E >F >B @= >F @ >H >F >@ D. 0arilah nilai rata)rata median maksimum dan minimum E. a. b. c. d.
-ambahkan data objek $ dengan >B > @= @ > (aerapa banyak datanya sekarang &gunakan fungsi lent*'C (erikan nilai >= pada objek $ sebagai data ke =F &gunakan !1"). -ambahkan datanya dengan > EB E@ > &gunakan !10:2$").
Antarmuka (interface ) Data Entri Grahi!
R menyediakan banyak cara lain untuk mengedit data melalui antarmuka spreadsheet . *ntar muka ini mungkin lebih disukai mahasis"a. (erikut ini adalah beberapa contohnya. > data.entr() % muncul s+reads*eet untu' menedit data > <-de() % idem7 coba +er*ati'an +er bedaanna denan meneti' > <-edit() % muncul note+ad editor untu' menedit
+emua perintah di atas mudah untuk digunakan. hanya saja objek data yang akan diedit harus telah didefinisikan sebelumnya bila objek belum ada maka akan timbul pesan kesalahan seperti berikut ini. > data.entr(C) % aal7 ob&e' C belum terdeinisi rror in de(...7 odes # odes7 ames # ames) : Eb&ect FCF not ound > data.entr(C#c(A)) % muncul s+reads*eet > CC<-numeric() % deinisi'an 8aribel/ob&e' CC denan ti+e numeri' > data.entr(CC) % muncul s+reads*eet Geteranan:
9ika objek JJ bertipe karakter maka gunakan fungsi c*aracter(). Latihan
=. 7ata berikut ini adalah jumlah mahasis"a yang hadir kuliah pada suatu kelas tertentu di uni2ersitas (ina Nusantara selama =D kali pertemuan. 6 33 39 30 6 3$ 6 32 69 3 3$ 6 a. b. c. d.
6ntri data ke 2ariabel hadir gunakan antarmuka spreadsheet. 4itunglah berapa banyak pertemuan dengan kehadiran kurang dari > mahasis"a. -ampilkan semua data kecuali data pertemuan D > F B dan =. Gunakan fungsi range untuk mendapatkan kehadiran terbanyak dan terrendah
> rane(*adir) !1" 3$ 69
e. Gunakan fungsi diff untuk mencari selisih kehadiran yang berurutan. > di(*adir) !1" -13 -2
9 -1
1 -1
10 -16
0/21 Anom Yudistira (D1392) e-mail:
[email protected]
-
1
> di(rane(*adir)) % rentan data !1" 19
f.Gunakan fungsi cumma$ untuk mendapatkan kehadiran terbanyak secara komulatif. > cumma(*adir) !1" 6 6 6 6 6 6 6 6 69 69 69 69
g. Gunakan fungsi cummin untuk mendapatkan kehadiran terrendah secara komulatif. > cummin(*adir) !1" 6 33 33 33 33 3$ 3$ 3$ 3$ 3$ 3$ 3$
h. Rentang antar kuartil diperoleh dengan menggunakan fungsi IR > i5r<-H(*adir) % nilai H disim+an di ob&e' i5r > i5r !1" 13.0
%enampilkan daftar objek dan menghapusnya. Untuk melihat objek apa saja yang telah dibuat adalah sebagai berikut. > ls() % meli*at datar ob&e' an tela* dibuat !1" Fc(A)F
F*adirF
F*alF
Fi5rF
!" FnF
Frin'asF
Fsalti'F
Fsalti'.dra1F Fsalti'.dra2F
FF
FC2F
FCCF
!11" FF
Flast.BarninF
*nda mungkin saja mendapatkan daftar objek yang berbeda dengan di atas. > rm(*adir) % men*a+us ob&e' *adir > ls() % ob&e' *adir *ilan dari datar !1" Fc(A)F F*alF Fi5rF Flast.BarninF FnF !" Frin'asF Fsalti'F Fsalti'.dra1F Fsalti'.dra2F FF !11" FF FC2F FCCF > rm(list#ls()) % men*a+us semua ob&e' dari memori a'ti > ls() c*aracter($)
Untuk membersihkan layar &console' tekan 0tr# ". Data #nivariate
*da bermacam)macam tipe data dalam statistik dan R dapat membedakan hal itu. Khususnya data dapat dibagi dalam tiga tipe dasar yaitu katagorik numerik diskret dan numerik kontinu. 7ata Katagorik 7ata katagorik biasa disajikan dalam bentuk tabel grafik batang &bar graph' diagram kue & pie chart ' dan sebagainya. ,enggunaan -abel ungsi table digunakan menyajikan data katagorik dalam bentuk tabel. Teladan. Survei Merokok /21 Anom Yudistira (D1392) e-mail:
[email protected]
+ebuah sur2ei menanyakan @ orang apakah ia seorang perokok atau tidak. 7atanya adalah: La -idak -idak La La. %asukkan data tersebut dalam R dengan fungsi c() dan ringkaskan dengan menggunakan fungsi table() sebagai berikut. > <-c(FYaF7F?ida'F7F?ida'F7FYaF7FYaF) > table() ?ida' Ya 2 3
7ata katagorik umumnya mengklasifiksikan datanya dalam beberapa le2el atau faktor. ungsi factor mendapatkan le2el dari data katagorik. > act<-actor() > act !1" Ya ?ida' ?ida' Ya e8els: ?ida' Ya
Ya
5bjek fact$ sekarang mempunyai le2el tetapi $ tidak. memperlihatkan hal itu.
,erintah berikut ini
> le8els(act) !1" F?ida'F FYaF > le8els()
(ila nama le2el diubah -idak menjadi non)perokok dan La menjadi perokok hasilnya adalah. > le8els(act)<-c(Fnon-+ero'o'F7 F+ero'o'F) > le8els(act) !1" Fnon-+ero'o'F F+ero'o'F > act !1" +ero'o' non-+ero'o' non-+ero'o' +ero'o' e8els: non-+ero'o' +ero'o' > % nilai ob&e' tida' beruba* !1" FYaF F?ida'F F?ida'F FYaF FYaF > table(act) act non-+ero'o' +ero'o' 2 3
+ero'o'
Grafik (atang & Bar Graph ' Garfik batang menampilkan sebuah batang yang tingginya sesuai dengan pencacahan dalam tabel &yang dilakukan oleh fungsi table()'. -inggi batang dapat mencerminkan frekuensi atau proporsi keduanya akan nampak sama kecuali skalanya. Teladan. Survei Olah Raga Permainan 9/21 Anom Yudistira (D1392) e-mail:
[email protected]
*da D@ mahasis"a ditanyakan tentang permainan olah raga yang paling disukai. Kategorinya adalah sebagai berikut : &='. +epak (ola &D'. (ola Moli &E'. (asket &>'.lainnya. 7ata mentahnya adalah sebagai berikut. 3 6 1 1 3 6 3 3 1 3 2 1 2 1 2 3 2 3 1 1 1 1 6 3 1 (erikut ini akan digunakan fungsi scan untuk membaca data di atas > or<-scan() 1: 3 6 1 1 3 6 3 3 1 3 2 1 2 1 2 3 2 3 1 1 1 1 6 3 1 2: ead 2 items > bar+lot(or) % sala*7 an ditam+il'an data indi8idual
> bar+lot(table(or)) % benar7 an ditam+il'an re'uensi
1$/21 Anom Yudistira (D1392) e-mail:
[email protected]
> bar+lot(table(or)/lent*(or)7col#rainboB(6)) %benar7 an ditam+il'an +ro+orsi
Keterangan: argumen col#rainboB(6) pada fungsi bar+lot akan memberikan tampilan "arna yang berbeda)beda untuk tiap batang.
-ampaknya disini perintah table(or)/lent*(or)akan memberikan nilai tabel proporsional. > table(or)/lent*(or) or 1 2 3 6 $.6$ $.1 $.32 $.12
Diagram Roti ( Pie Chart )
7ata yang sama dapat dianalisis dengan menggunakan diagram roti dengan menggunakan fungsi +ie. (erikut ini adalah sebuah teladan dalam penggunaan fungsi +ie. > +ie(or.re') % re'uensi data or disim+an +ada ob&e' or.re' > +ie(or.re') % menam+il'an diaram roti
11/21 Anom Yudistira (D1392) e-mail:
[email protected]
> names(or.re')<-c(F=e+a'In JolaF7 FKoliF7FJas'etF7FainnaF) % beri nama > +ie(or.re'7 col#c(F+ur+leF7Freen2F7FcanF7Fred1F) % tamba* Barna
(ila anda ingin mengetahui lebih jauh tentang fungsi barplot dan pie gunakan perintah berikut. > Lbar+lot > L+ie
Data $umerik ( Numerical data )
*da berbagai pilihan untuk memperagakan data numerik antara lain ringkasan numerik pemusatan ¢er ' dan dispersi & spread '. 12/21 Anom Yudistira (D1392) e-mail:
[email protected]
Ukuran numerik untuk pemusatan dan dispersi Untuk menggambarkan distribusi data perlu diketahui lebih dahulu dimana pemusatan datanya dispersi datanya. Ukuran)ukuran itu dicari dengan menggunakan fungsi mean7 8ar7 sd7 median atau dalam bentuk ringkasan seperti summar dan i8enum. ungsi terakhir ini memberikan hasil ringkasan lima angka. R khususnya dalam package base menyediakan banyak fungsi terpasang &built-in'. ungsi data() digunakan untuk melihat semua data yang tersedia seperti berikkut ini. > data() % meli*at data ter+asan a+a sa&a an tersedia > data(ait*ul) % memanil data ait*ul > ait*ul % meli*at isi dari ob&e' data ait*ul eru+tions Baitin 1 3.$$ 09 2 1.$$ 6 MM. dst MMM 202 6.60 06
Untuk menampilkan object eruptions gunakan perintah ait*ulNeru+tions perhatikan karakter N sebagai penyambung. ungsi attac*() digunakan agar dapat langsung memanggil 2ariabel eruptions yang berada pada posisi di ba"ah faithful. > eru+tions % sala*7 ob&e' tida' ditemu'an > ait*ulNeru+tions % ob&e' eru+tions ada di baBa* ait*ul !1" 3.$$ 1.$$ 3.333 2.23 6.33 2.3 M dst M. > attac*(ait*ul) % mela'u'an +encarian di baBa* ait*ul > eru+tions % eru+tions da+at dicari secara lansun !1" 3.$$ 1.$$ 3.333 2.23 6.33 M dst M > eru+<-eru+tions % menci+ta'an ob&e' eru+ an berisi data eru+tions > detac*(ait*ul) % a'*iri +encarian
+ekarang kita dapat bekerja pada objek erup saja "alaupun objek faithful dihapus dari memori aktif. > mean(eru+) !1" 3.6003 > mean(eru+7.1$) % rataan d. meman'as 1$O data di atas , di baBa* !1" 3.29$0 > sd(eru+) !1" 1.161301 > summar(eru+) in. 1st u. edian ean 3rd u. a. 1.$$ 2.13 6.$$$ 3.6 6.66 .1$$ > i8enum(eru+) % min7 ensel baBa*7 median7 ensel atas7 ma !1" 1.$$$ 2.1 6.$$$$ 6.6 .1$$$
,erhatikanlah perbedaan antara summar dan i8enum. %edian adalah uantile ke @O uartil = adalah uantile .D@ sedangkan uartil E adalah uantil .H@. 9adi uantile p adalah persentil ke =pO. ungsi uantile digunakan untuk menampilkan nilai persentil yang dimaksud. > 5uantile(eru+7$.2) % memberi'an +ersentil 'e 2O
13/21 Anom Yudistira (D1392) e-mail:
[email protected]
2O 2.120 > 5uantile(eru+7$.0) % memberi'an +ersentil 'e 0O 0O 6.662 > 5uantile(eru+7$.$) $O 6 > 5uantile(eru+7$.1) 1O 1.910 > 5uantile(eru+7c($.17$.27$.$7$.07$.)) % mem+eraa'an se'alius 1O 2O $O 0O O 1.910$$ 2.120 6.$$$$$ 6.662 6.$$$$
+impangan rata)rata median &%*7' merupakan suatu ukuran dispersi yang resisten terhadap pencilan rumusnya sebagai berikut median PXi Q median&X'P &=.>BDF' Konstanta =.>BDF merupakan faktor pembanding terhadap simpangan baku normal. ungsi mad() mendapatkan nilai simpangan tersebut. > mad(eru+) !1" $.91$09
7iagram dahan)dan)daun & stem-and-leaf chart ' Untuk melihat pola data khususnya untuk data dengan jumlah sedikit biasa digunakan diagram dahan)dan)daun. ungsi stem() memperagakan diagram ini. -eladan: 7ata berikut ini adalah lamanya "aktu &dalam menit' yang diperlukan untuk menunggu lift di U(INU+ kampus anggrek sehingga dapat digunakan. 2 3 1 23 16 12 6 13 2 $ $ $ 2 31 16 6 2 > lit<-scan() 1: 2 3 1 23 16 12 6 13 2 $ $ $ 2 31 16 6 2 21: ead 2$ items
(ila lupa nama persisnya dari fungsi stem maka dapat dicari dengan menggunakan fungsi a+ro+os(). > a+ro+os(FstemF) !1" FstemF FsstemF > stem(lit)
Fsstem.ileF Fsstem.timeF
?*e decimal +oint is 1 diit(s) to t*e ri*t o t*e P $ P $$$222366 1 P 2366 2 P 3 3 P 1 > stem(lit7scale#2)
16/21 Anom Yudistira (D1392) e-mail:
[email protected]
?*e decimal +oint is 1 diit(s) to t*e ri*t o t*e P $ $ 1 1 2 2 3
P P P P P P P
$$$222366 2366 3 1
%embuat data numerik dalam bentuk kategorik Kembali pada data erup disini kita akan membaginya dalam kelas &karena 2Q
&pembulatan ke atas dari di(rane(eru+))/9'. +ehingga diperoleh kelas)kelas sebagai berikut. !1.7 1.9" (1.97 2.3" (2.37 2.0" (3.97 6.3" (6.37 6.0" (6.07 .1"
(2.07 3.1"
(3.17 3."
(3.7 3.9"
> eru+.'at<-cut(eru+7brea's#c(1.71.972.372.073.173.73.976.376.07.1)) > eru+.'at !1" (3.73.9" (1.71.9" (3.173." (1.972.3" (6.376.0" (2.073.1" (6.376.0" M.. M.. M.. M. dst M. M. M. M. M. !20" (6.07.1" (3.976.3" (1.972.3" (6.376.0" (1.71.9" (6.376.0" 9 e8els: (1.71.9" (1.972.3" (2.372.0" (2.073.1" (3.173." ... (6.07.1"
> table(eru+.'at) eru+.'at (1.71.9" (1.972.3" (2.372.0" (2.073.1" (3.173." (3.73.9" (3.976.3" (6.376.0" 6$ 62 12 6 21 2 0 (6.07.1" 2
4istogram (entuk grafik yang paling sering digunakan untuk memperagakan data numerik adalah histogram. ungsi *ist() menghasilkan histogram yang dimaksud. > *ist(eru+7col#ra($.)) % 'elas ditentu'an secara automati' > % &i'a 'elas ditentu'an ole* user7 misal'an se+erti 'elas tela* > % dicari sebelumna ma'a M > *ist(eru+7brea's#c(1.71.972.372.073.173.73.976.376.07.1)7col#ra($.))
1/21 Anom Yudistira (D1392) e-mail:[email protected]
> *ist(eru+7col#ra($.)7+robabilit#?) % mem+eraa'an +ro+orsi > ru(&itter(eru+)) % menamba*'an tanda tic'
7iagram Kotak Garis & Boxplots ' ,eragaan diagram kotak garis memberikan informasi secara cepat mengenai kesimetrikan data dan munculnya pencilan &outliers'. ungsi bo+lot() memberikan peragaan diagram kotak garis. > bo+lot(eru+7main#FDiaram Gota' Raris ru+siF7*oriContal#?7 col#ra($.))
1/21 Anom Yudistira (D1392) e-mail:[email protected]
,eragaan 4istogram dan Kotak Garis secara bersamaan ,ackage +imple menyediakan fungsi sim+le.*ist.and.bo+lot() untuk memperagakan histogram dan kotak garis secara bersama)sama. ,erintah librar() adalah untuk melihat library apa saja yang telah di install. ,erintah librar(=im+le) akan memanggil package =im+le. > librar() % meli*at +ac'ae a+a sa&a tersedia > librar(=im+le) % memanil +ac'ae =im+le > a+ro+os(Fsim+leF) % unsi sim+le a+a sa&a an tersedia !1" Fsim+le.c*utesF Fsim+le.densit+lotF !3" Fsim+le.densit+lot.deaultF Fsim+le.densit+lot.ormulaF !" Fsim+le.edaF Fsim+le.eda.tsF !0" Fsim+le.anc.stri+c*artF Fsim+le.re5+olF !9" Fsim+le.*ist.and.bo+lotF Fsim+le.laF !11" Fsim+le.lmF Fsim+le.median.testF !13" Fsim+le.+lot.*ist.and.boF Fsim+le.scatter+lotF MMMMMMM dst MMMMMM > sim+le.*ist.and.bo+lot(eru+)
10/21 Anom Yudistira (D1392) e-mail:[email protected]
,oligon rekuensi ,oligon frekuensi menggambarkan garis)garis lurus yang menghubungkan puncak) puncak dari segi)empat pada histogram. (erikut ini adalah rangkaian perintah untuk membuat poligon frekuensi. > *is.eru+<-*ist(eru+7col#ra($.)) > str(*is.eru+) % meli*at a+a sa&a an di'andun ole* ob&e' *is.eru+ ist o 0 N brea's : num !1:9" 1. 2 2. 3 3. 6 6. . N counts : int !1:" 30 9 36 0 6 3 N intensities: num !1:" $.6$66 $.2021 $.$3 $.$2 $.2$$ ... N densit : num !1:" $.6$66 $.2021 $.$3 $.$2 $.2$$ ... N mids : num !1:" 1.0 2.2 2.0 3.2 3.0 6.2 6.0 .2 N name : c*r Feru+F N e5uidist : loi ? - attr(47 FclassF)# c*r F*istoramF > lines(c(min(*is.eru+Nbrea's)7*is.eru+Nmids7ma(*is.eru+Nbrea's))7 c($7*is.eru+Ncounts7$)7t+e#FlF) % menamba*'an aris lurus
%. Data A&ak ( Random Data) 6instein berkata -uhan tidak bermain dadu tidak demikian halnya dengan R ia dapat melakukannya. -eladan: (erikut ini adalah percobaan melambungkan sebuah dadu setimbang sebanyak = kali. > sam+le(1:71$7re+lace#?) % anda mun'in sa&a menda+at'an *asil berbeda !1" 1 1 2 1 6 2
berikut ini adalah fungsi buatan untuk mendapatkan sampel dari pelambungan sebuah dadu sebanyak n kali. > Dadu<-unction(n) sam+le(1:7n7re+lace#?) > Dadu() % melambun'an sebua* dadu sebana' 'ali !1" 3 3 6 6
9ika percobaan pelambungan sebuah dadu sebanyak = kali dilakukan = kali dan peubah acak $ didefinisikan sebagai banyaknya mata F yang muncul pada setiap kali pelambungan. R dapat melakukannya sebagai berikut. > > > >
dad<-Dadu(1$)## <-lent*(dad!dad##?") or (& in 1:99) Sdad<-Dadu(1$)## <-lent*(dad!dad##?") <-c(7)T !1" 2 1 1 3 1 3 1 $ 1 1 2 1 $ 1 $ 1 6 $ 1 2 1 2 3 1 1 $ 2 1 1 1 $ 3 1 3 2 $ 1
!3" 6 1 1 $ 1 2 1 1 3 2 $ 3 3 $ 2 1 6 1 1 2 2 1 3 1 2 1 6 2 1 1 3 1 3 1 3 $ 2 !0" 3 1 1 1 2 $ 1 2 2 2 1 1 1 6 3 1 $ 2 2 1 1 6 2 6 1 1
1/21 Anom Yudistira (D1392) e-mail:[email protected]
,eluang $? dapat dicari dengan pendekatan frekuensi relatif adalah sebagai berikut. > lent*(!##$")/lent*() !1" $.13
4asil di atas dapat dibandingkan dengan peluang $? untuk percobaan binomial dengan n?= dan p?=/F. > Ldbinom % a+a sa&a arumen unsi iniL > dbinom(#$71$71/) !1" $.11$
Latihan
=. +ebuah percobaan melambungkan sebuah koin E kali. ,eluang munculnya *ngka &;*<' adalah dan peluang munculnya Gambar &;G<' adalah S untuk setiap kali pelambungan. a. ,erintahkanlah R untuk melakukan percobaan tersebut sebanyak = kali dan $ didefinisikan sebagai banyaknya ;G< yang muncul. b. 4itunglah frekuensi relatif untuk <#2. c. (andingkan dengan nilai &D' dari suatu percobaan binom dengan n?E dan p?E/>. > sam+le(c(FAF7FRF)737+rob#c(1/673/6)7re+lace#?) % satu 'ali +elambunan > +binom(27373/6) % nilai ;(2) untu' binom n#37 +#3/6
,embangkit ,eubah *cak Uniform R dapat membangkitan nilai)nilai peubah acak dengan fungsi rnama sebaran. %isalkan untuk membangkitan angka acak Qyaitu nilai peubah acak yang berasal dari sebaran uniform &=') dilakukan oleh fungsi runi(n). (entuk umum fungsi ini adalah runi(n7min#$7ma#1)7 jika min dan ma$ tidak dinyatakan pada fungsi maka nilai min? dan ma$?= yang digunakan. > u<-runi(1$) % ban'it'an an'a aca' sebana' 1$ bua* > runi(7276) % ban'it'an uUuniorm(276) !1" 3.2306$ 3.1 2.66 2.02$39 2.$969
,embangkit ,eubah *cak Normal +ebagaimana telah diketahui sebaran normal mempunyai dua parameter yaitu rataan µ dan simpangan baku σ. Keduanya tersebut masing)masing merupakan parameter lokasi dan dispersi. ,erintah R untuk membangkitkan peubah acak normal dengan rata) rata = dan simpangan baku =F adalah. > rnorm(171$$71) !1" 11.0$9 > rnorm(1$7mean#2$7sd#1$) % ban'it'an 1$ +.a U(2$71$) !1" 2.$61 296.06 26.220 3$$.6930 22.1 2$.031 206.1319 2$.00 !9" 20.32 201.9212
> rnorm() % ban'it'an +euba* aca' normal ba'u !1" 1.29093$ -$.99$2$ -$.32091 1.136212 -1.9211
19/21 Anom Yudistira (D1392) e-mail:[email protected]
-eladan: ,erintahkanlah R untuk mengambil = sampel yang berasal dari sebaran normal baku kemudian buatlah histogram dari sampel tersebut dan gambarkan kur2a normal baku pada histogram tersebut. > > >
<-rnorm(1$$) *ist(7+robabilit#?7col#Fcan3F7 main#FVistoram =am+el ormal Ja'uF) cur8e(dnorm()7add#?)
-eladan: ,ada sebaran diskret seperti binomial nampaknya kurang tepat menggambar) kan sampelnya dengan menggunakan histogram. ,erintah R berikut menggunakan fungsi +lot() untuk menggambarkan sampel binomial n?@ p?.D@. > > >
n<-W +<-1/6 <-rbinom(1$$7n7+) +lot(table()/lent*()7t+e#F*F7lBd#7 col#Fblue3F7main#FRrai' =ebaran =am+lin Jinomial n#7+#.2F)
(andingkan dengan grafik sebaran binomialnya yaitu > >
nil<-$:n +lot(nil7dbinom(nil7n7+)7t+e#F*F7lBd#7 col#Fblue3F7main#FRrai' =ebaran Jinomial n#7+#.2F7 lab#FXeluanF7lab#Fnilai F)
,ada kebanyakan buku)buku teks statistik selalu dilengkapi dengan tabel normal baku J. -abel itu tidak diperlukan lagi karena R menyediakn fungsi yang canggih untuk medaptakan nilai J dengan menggunakan fungsi 5norm() yaitu fungsi untuk mendapatkan nilai J jika peluang ekor kirinya diketahui. -eladan: ,erintahkanlah R untuk mendapatkan J sehingga peluang ekor kirinya adalah .@ atau &J'?.@. > 5norm($.$) !1" -1.666
,ada berbagai sebaran normal dapat kita cari nilai uantilenya sebagai berikut. > 5norm(c($.$27$.27$.$7$.07$.90)7mean#1$$7sd#1$) !1" $.6$$3 93.21$ 1$$.$$$$$ 1$.0669$ 119.996
Latihan
(ila = sampel masing)masing berukuran = diambil dari sebaran e$ponensial dengan rate?D. Kemudian setiap sampel dihitung rata)ratanya. Gambarkan histogram untuk rata) rata tersebut bandingkan dengan kur2a normal dengan mean?=/D dan sigma?=/D. *pakah dalil limit pusat berlakuC ,erintahkan R untuk memeriksanya. petunjuk: > re+(1$$72.) % sebua* sam+el beru'uran 1$$ dari U+(2.$)
2$/21 Anom Yudistira (D1392) e-mail:[email protected]
'. Reeren!i MerJani 9ohn. DD. simpleR Q Using R for Introductory +tatistics. UR#: http://""".math.csi.cuny.edu/+tatistics/R/simpleR Menable !. N. and 7.%. +mith. DE. *n Introduction to R UR#: http://""".r)project.org %aindonald 9.4. D=. Using R for 7ata *nalysis and Graphics *n Introduction. *ustralian National Uni2ersity. ,aradis 6manuel. DD. R for (eginners. Uni2ersite %ontpellier II. rance.
21/21 Anom Yudistira (D1392) e-mail:[email protected]
Institut des +ciences de lT62olution.