Ucapan Terima Kasih. Terima Kasih. Wassalam. Jakarta-Depok, Penulis

145  Download (0)

Teks penuh

(1)

Kata Pengantar

Buku ini adalah buku tutorial dan sekaligus menjadi buku panduan bagi Anda yang ingin belajar statitistika (seri dasar). Buku ini ditujukan bagi semua kalangan, baik akademisi (staf pengajar/dosen), peneliti tingkat awal, atau mahasiswa.

Buku ini ditulis untuk memberikan solusi bagi para penggunanya terhadap suatu alat statistika yang handal namun dapat diperoleh secara bebas, mulai dari source code softwarenya, paket-paket penunjangnya, hingga panduan yang melekat pada software pada saat install.

R adalah perangkat lunak statistika yang handal, karena dikembangkan oleh ahli-ahli statistika yang bekerjasam dengan pakar komputer dari seluruh dunia, yang secara sukarela mengembangkan dan menyumbangkan formula, rumus statistika bagi setiap orang yang ingin menggunakannya. Kehandalan R disebabkan oleh pengembangan berbasiskan pada prinsip dasar bahasa S, yang telah berhasil membuat alat statistik (komersil) lainnya yakni S-PLUS. Bagi anda yang terbiasa atau mengenal S-PLUS, akan mengerti kehandalan R ini.

R sangatlah efisien dan mudah diperoleh karena di publikasikan untuk masyarakat umum dengan dasar lisensi GNU General Public, yang artinya boleh didistrisbusikan dengan bebas.

Untuk mempermudah dalam memahami panduan menggunakan R, buku ini dibagi menjadi tiga bagian utama, yakni Bagian 1 membahas dasar-dasar aplikai R, mulai cara mendapatkan program berikut source code-nya, instalasi dan karakteristik, serta fitur-fiturnya. Pada bagian 1 ini bertujuan untuk mengetahui bagaimana cara menggunakan R dengan baik yang berkatian dengan bagian selanjutnya.

Bagian 2 membahas konsep analisis statistika berikut praktik untuk menggunakan alat fitur-fitur dalam R untuk mengolah data dan melakukan analisis statistika, mulai statistik deskriptif, grafik (histogram, scatter plot, Q-Q plot, Boxplot, dll), fungsi distribusi, regresi serta uji statitika dasar.

Bagian 3 membahas studi kasus yang berisikan contoh-contoh penggunaan R yang yang dibagi menjadi dua, yaitu contoh kasus dasar dan contoh kasus lanjut.

Bagian 4 adalah tambahan penunjang penggunaan, yaitu interface (antar muka) R-Commander yang membantu dalam menggunakan R berbasis interface yang user friendly dan diakhiri dengan penutup.

Dengan mempelajari setiap bab kami harapkan anda dapat mengetahui dan menggunakan R sebagai alat statistika dalam membantu kerja/tugas anda sehari-hari. Bagi anda yang sudah mengetahui R sebelumnya ataupun S-PLUS, anda bisa langsung menuju bagian 2 atau bagian 3. Sedangkan untuk bagian 4, mengenai R-Commander (Rcmdr) akan diterangkan secara singkat namun disertai dengan screenshot cara instalasi, penggunaan dan studi kasus menggunakan Rcmdr. Untuk bahasan lebih rinci mengenai Rcmdr dibahas lebih lanjut dalam satu buku khusus.

(2)

Ucapan Terima Kasih

Alhamdulillah, dengan telah terbitnya buku ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu terwujudnya buku ini.

Kepada pimpinan Depdiknas dan BPKLN, pimpinan Universitas Gunadarma (Prof. Suryadi H.S., dan Drs. Agus Sumin, MM), PR IV Universitas Gunadarma (Dr. Didin Mukodim), Istri dan kakak tercinta (Nuke Farida, SSas), Anak dan Keponakan tersayang, Rekan pembuat modul R Laboratorium Sistem Informasi atas pinjaman modulnya. Dan semua pihak yang tidak dapat kami sebutkan satu per satu atas bantuan, kerjasama dan doanya.

Untuk kemajuan dan perbaikan buku ini, kami membuka selebar-lebarnya bagi masukkan, kritik dan saran para pembaca, agar buku ini lebih mudah dipahami dan semakin berguna. Demikianlah, semoga di masa yang akan datang akan lebih baik, dan sedang dipersiapkan buku seri lanjutan dari Pemrograman R ini sebagai kelanjutan sumbangsih kecil kami bagi kemajuan pendidikan di tanah air.

Terima Kasih Wassalam

Jakarta-Depok, 2007-2008

(3)

DAFTAR ISI

BAGIAN I: DASAR-DASAR R

Bab I - Pendahuluan 1 - 4

Sejarah & Perkembangan Open Source 2 - 3

Open Source untuk Analisis Statistik 3 - 4

Bab II - Software R dan Fitur-fiturnya 5 - 9

II.1 Sejarah & Pengembangan R 5

II.2. R dan program statistik 6

II.2.1 Kelebihan dan Fitur-fitur R 6

II.2.2 R, Riset dan Akademis 7 - 9

Bab III - Memulai R 10 - 21

III.1 Mendapatkan Program (source) R 10

III.2 Instalasi 10

III.2.1 Instalasi di Sistem Operasi Windows 10 - 14

III.2.2 Melakukan Uninstall R dari Sistem Operasi Windows 15 III.2.3 Instalasi di Sistem Operasi lain (Linux, Macintosh, Unix, dan lain

lain)

15

III.2.4 Menu-menu dalam R 15 - 20

III.2.5. Library dan fungsi dasar dalam instalasi R.2.1 20 - 21

Bab IV - Fitur dasar R 22 - 47

IV.1. Bilangan dan Vektor 22 - 27

IV.2 Objek dan Atribut 27

IV.3 Faktor terurut dan tidak terurut 28 - 29

IV.4 Matriks dan Array 29

IV.4.1 Array 29

IV.4.2 Index Matriks 30 - 31

IV.4.3 Fungsi array() 31

IV.4.4 Outer product dari dua array 31 - 32

IV.4.5 Array transpose 33

IV.4.6 Fasilitas matrik 33 - 35

IV.4.7 Membentuk matrik partisi 35 - 36

IV.4.8 Tabel frekuensi suatu dari faktor 36

IV.5. List dan Frame data 37 - 39

IV.6 Membaca data suatu file 39 - 46

(4)

BAGIAN 2: R & ANALISIS STATISTIKA

Bab V - R untuk Pengolahan dan Analisis Data 47 - 95

V.1 Statistika Deskriptif 47

V.1.1 Mean 47 - 48

V.1.2 Median 48

V.1.3 Nilai minimum dan maksimum 48

V. 2 Grafik 48 -52 V.2.1 Histogram 53 - 57 V.2.2 Q-Q plot 57 - 58 V.2.3 Boxplot 59 - 61 V.2.4 Grafik Trellis 62 - 65 V.3 Fungsi Distribusi 65 - 66

V.3.1 Jenis fungsi distribusi dalam R 66

V.3.2 Fungsi Probabilitas Densitas (Probability Density Function (PDF)) 66 - 71 V.3.3 Fungsi Densitas Kumulatif (Cumulative Density Function (CDF)) 71

V.4 Regresi & ANOVA (Analysis of Variance) 71 - 73

V.4.1 ANOVA satu arah (One Way ANOVA) 74 - 76

V.4.2 ANOVA dua arah (Two Way ANOVA) 77 - 80

V. 5 Analisis (Uji) Statistika t 80 - 81

V.6 R dan Statistika Lanjut 81

V.6.1 Pencocokon Distribusi (Fitting Distribution) 81

V.6.1.1 Pemilihan Model 81 - 84

V.6.1.2 Taksiran parameter 84 - 88

V.6.1.3 Uji Goodness of Fit 88 - 90

V.6.1.4 Uji kenormalan 90 - 93

Uji Jarque Berra, Uji Shapiro-francia, Uji Pearson’s Chi-Square, uji Liliefors, dan lain lain.

Soal Latihan Bab V 93 - 95

BAGIAN 3: CONTOH & STUDI KASUS

Bab VI - Contoh & Studi Kasus dengan R 96 - 107

A. Contoh kasus dasar 96 - 102

A.1. Mean, variansi dan standar deviasi 96 - 97

A.2. Data univariat 97

A.3. Bar chart (diagram batang) 98 - 99

A.4. Pie chart 100 - 101

A.5. Membuat data kategorik dari data numerik 101 - 102

B. Contoh kasus lanjut 102 - 106

(5)

B.2. Matrik dan aljabar linear 102 - 103

B.3. Bekerja dengan data kategori bivariate 104 - 105

B.4. Data Bivariate: data kategorik vs data numerik 105 - 106 Soal Latihan Bab VI 106 - 107

BAGIAN 4: TAMBAHAN

R – COMMANDER, TANYA JAWAB & PENUTUP

Tambahan 1 - R-Commander 108 - 118

A. Instalasi & Menu dalam Rcmdr 108 - 114

B. Contoh kasus menggunakan Rcmdr 115 - 118

Tambahan 2 - Tanya Jawab seputar R untuk (sistem operasi) Windows 119 - 135 Penutup 136

Daftar Pustaka 137 - 139

(6)

DAFTAR GAMBAR/GRAFIK

hal

Gambar 2.1 Grafik multidimensi hasil perhitungan R 7

Gambar 2.2 Grafik kontur dan topografi hasil perhitungan R 7

Gambar 2.3 Grafik scatter plot hasil perhitungan R 8

Gambar 2.4 Contoh grafik hasil plotting R 8

Gambar 2.5 Contoh grafik histogram R 9

Gambar 2.6 Contoh grafik pie chart R 9

Gambar 3.1 Langkah 1 instalasi 11

Gambar 3.2 Langkah 2 instalasi 11

Gambar 3.3 Langkah 3 Instalasi 12

Gambar 3.4 Langkah 4 Instalasi 12

Gambar 3.5 Langkah 5 Instalasi 13

Gambar 3.6 Langkah 6 Instalasi 13

Gambar 3.7 Langkah 7 Instalasi 14

Gambar 3.8 Langkah 8 Instalasi 14

Gambar 3.9 Kotak dialog, konfirmasi un-instalasi 15

Gambar 3.10 Posisi program R pada Start menu Desktop 16

Gambar 3.11 Tampilan muka program R 16

Gambar 3.12 Menu utama R 17

Gambar 3.13 Menu File R 17

Gambar 3.14 Menu Edit R 18

Gambar 3.15 Menu Misc (miscellaneous) R 18

Gambar 3.16 Menu Packages R 19

Gambar 3.17 Menu Windows R 19

Gambar 3.18 Menu Help R 20

Gambar 4.1 Plot densitas tinggi untuk frekuensi kemunculan matriks 32

Gambar 4.2 Dataset default dalam R 42

Gambar 4.3 Daftar dataset dalam R 43

Gambar 4.4 Editor data AirPassenger 44

Gambar 4.5 Spredsheet editor data 45

Gambar 4.5 Menu Data editor pada menu utama 46

Gambar 5.1 Scatter plot data variabel Petal 50

Gambar 5.2 Simbol dan kode dalam R 51

Gambar 5.3 Simbol, Kode dan Warna dalam R 52

Gambar 5.4 Grafik scatterplot data Iris 52

Gambar 5.5 Grafik histogram data eruptions 54

Gambar 5.6 Grafik histogram data eruption berdasarkan lebar bin 0.2 55

Gambar 5.7 Grafik histogram data eruptions dengan bw = 0.1 55

Gambar 5.8 Grafik histogram data eruption dengan data aktual 56

Gambar 5.9 Plot 1 ecdf data eruption 56

Gambar 5.10 Plot 2 ecdf data eruption 57

Gambar 5.11 Plot 3 ecdf data eruption 57

Gambar 5.12 Plot Q-Q Normal 58

Gambar 5.13 Plot 2 Q-Q Normal 58

(7)

Gambar 5.15 Boxplot data eruption dengan nama titel 60

Gambar 5.16 Contoh grafik plot 61

Gambar 5.17 Plot densitas triller (a) tanpa dan (b) dengan pengkondisian faktor 62

Gambar 5.18 Scatter plot triller (a) tanpa dan (b) dengan pengkondisian faktor 63

Gambar 5.19 Grafik plot Trellis trivariate 65

Gambar 5.20 Plot binomial data mahasiswa 68

Gambar 5.21 Plot variabel sample1 dan sample 2 69

Gambar 5.22 Histogram koefisien korelasi 70

Gambar 5.23 Grafik 3D untuk pdf normal bivariat 70

Gambar 5.24 Boxplot sebaran IPK mahasiswa berdasarkan sosio ekonomi 75

Gambar 5.25 Plot kolom matrik 79

Gambar 5.26 Matplot daya rekat (adhesi) vs aplikasi 80

Gambar 5.27 Histogram distribusi Poisson 82

Gambar 5.28 Kurva distribusi Normal 83

Gambar 5.29 Kurva distribusi Gamma 83

Gambar 5.30 Kurva distribusi Weibull 84

Gambar 5.31 Kurva dan histogram pdf Normal 90

Gambar 6.1 Barplot 1 data sabun 98

Gambar 6.2 Barplot 2 data sabun 99

Gambar 6.3 Barplot 3 data sabun 99

Gambar 6.4 Piechart 1 100

Gambar 6.5 Piechart 2 100

Gambar 6.6 Piechart 3 101

Gambar 6.7 Boxplot slide by slide

Tambahan 1: R - Commander

Gambar 1 Instalasi Rcmdr dengan koneksi Internet 109

Gambar 2 Loading paket R commander (Rcmdr) 110

Gambar 3 Tiga sub window dalam Rcmdr 110

Gambar 4 Menu File 112

Gambar 5 Menu Data 112

Gambar 6 Menu Statistics 112

Gambar 7 Menu Graphs 113

Gambar 8 Menu Models 113

Gambar 9 Menu Distributions 113

Gambar 10 Menu Tools 114

Gambar 11 Menu Help 114

Gambar 12 Tampilan Active data set 114

Gambar 13 Rincian data yang dipilih 115

Gambar 14 Menu Statistics Matriks Korelasi Pearson 116

Gambar 15 Output Statistics Matriks Korelasi Pearson untuk data(women) 116

Gambar 16 Menu Graphs untuk scatterplot 116

Gambar 17 Scatterplot dengan kriteria yang ditentukan 117

Gambar 18 Menu (Fungsi) Distribution untuk fungsi probabilitas Normal 117

(8)

DAFTAR TABEL

hal

Tabel 1.1 Daftar spesifikasi dan alamat software freeware / Open Source 3 - 4

Tabel 3.1 Paket dalam perangkat lunak R 20 - 21

Tabel 4.1 Operator Aritmatik dalam R 23

Tabel 5.1 Jenis plot dalam R 60

Tabel 5.2 Jenis plot untuk satu variable 63

Tabel 5.3 Jenis plot untuk dua variable 64

Tabel 5.4 Jenis plot untuk tiga variable 65

Tabel 5.5 Jenis plot untuk lebih dari tiga variable 65

Tabel 5.6 Jenis fungsi distribusi dalam R 66

(9)

1

Buku ini dibuat sebagai suatu pengantar dalam mempelajari statistika yang dihantarkan pula dengan suatu perangkat lunak alternatif pengolahan dan analisis statistik, yaitu R (biasa di sebut R) yang merupakan perangkat lunak open source. Diharapkan perangkat lunak ini menjadi acuan/referensi bagi mahasiswa, dosen, peneliti untuk dapat digunakan sebagai alat bantu dalam melakukan pekerjaannya. Penyajian dalam buku ini diawali dengan pengoperasian aplikasi R yang dijelaskan pula secara bersamaan teori dasar statistik yang terkait.

Dari banyaknya pilihan perangkat lunak pengolahan dan analisis data yang tersedia sekarang kebanyakan adalah perangkat lunak propriatery atau berbayar. R merupakan aplikasi yang menjanjikan karena dikembangkan secara kolektif oleh banyak ahli statistika dan programmer komputer sehingga tersedia fitur yang lengkap mulai dari yang klasik hingga termodern, mulai dari tool statistik, komputasi numerik, pencitraan dua dimensi - tiga dimensi (2D & 3D) serta pemodelan.

Dengan kelengkapan fiturnya dan senantiasa dikembangkan untuk banyak bidang aplikasi, R layak digunakan pada bidang seperti statistik, ekonomi, komputasi hingga geografis.

Sampai buku ini dibuat, tim R sudah dan sedang melakukan banyak projek seperti, untuk tampilan grafik (GUI) dengan R GUI Projects & SciViews R GUI, tampilan untuk statistika dasar dengan R-Commander untuk memudahkan pengguna dengan bantuan menu berbasis objek & ikon, program analisis berbasis web dengan Rpad, untuk data mining dengan fasilitas Rattle yaitu interface quick and easy berbasis GNOME, untuk bidang geografi-statistik dan data spasial dengan geoR. Beberapa fitur lainnya masih banyak lagi yang dapat lihat di situs resmi R :

http://CRAN.r-project.org.

R dapat digunakan baik untuk pribadi maupun korporasi (dalam laboratorium) tanpa khawatir dan was-was atas lisensinya, alias GRATIS, karena bernaung dalam GNU

Pendahuluan

BAB

I

(10)

2 General Public License. Panduan, source, dan paket penunjangnya dapat didownload dari situs http://CRAN.r-project.org, atau dalam CD yang disertakan dalam buku ini. Dasar dari penulisan buku ini adalah agar khalayak khususnya akademisi, mahasiswa dan praktisi di Indonesia mulai giat memanfaatkan sumber daya yang baik sekaligus murah, dan juga menghindarkan/menghilangkan kesan negative pembajakan/ penggunaan software secara illegal, yang akhir-akhir ini banyak menjadi soroton dunia internasional.

Buku ini disusun berdasarkan referensi dari praktisi & akademisi yang menggunakan R sebagai tool pendukung kerja yang diterbitkan di Internet, dokumentasi dari tim R (R core team) dan pengalaman penulis dalam menggunakan R sebagai tool riset. Sejarah & Perkembangan Open Source

Pengertian Open Source

Sekarang ini, dalam industri software kita sering mendengar kata Open Source, namun apakah Open Source itu?

Sedikit akan kami ulas tentang sejarah Open Source. Terminology ‘open source’ bermula dari perdebatan pada tahun 1998 ketika perusahaan Netscape memutuskan untuk mempublikasikan dan menghibahkan kode sumber (source code) produk browser Navigator untuk publik. Para peserta debat tersebut menyatakan kepeduliannya akan kemungkinan terjadinya kebingungan dengan terminologi free software sebagai implikasi dari anti-komersil. Banyak perdebatan tentang beberapa terminologi yang dapat digunakan untuk menghindari kebingungan tersebut, dan keluarlah keputusan menggunakan kata ‘open source’ sebagai terminologi baru. Open Source adalah suatu konsep yang menunjuk pada produksi dan pengembangan praktis dimana setiap orang dapat mengakses pada sumber (source) suatu produk akhir.

Terminologi Open Source paling sering dihubungkan dengan teknologi informasi (TI), salah satunya produk perangkat lunak sebagai bagian dari dunia TI tersebut Berbeda dengan konsep perusahaan perangkat lunak komersil yang ciri khasnya menggunakan model terpusat (centralized model) untuk suatu pengembangan, Open Source secara konsep adalah kebalikannya, dimana metode yang digunakan adalah bebas/liberal.

Organisasi yang mempromosikan Open Source adalah Open Source Initiative (OSI) yang dibentuk pada tahun 1998. OSI mempromosikan studi mengenai perbandingan pengembangan tertutup (closed development) versus pengembangan terbuka (closed development).

Definisi mengenai software Open Source secara garis besar, diantaranya adalah sebagai berikut:

- Bebas di distribusi ulang (Free redistribution), yaitu orang dapat menjual, mensuplai atau mendistribusikan perangkat lunak dimana lisensi untuk paket perangkat lunak tersebut tidak berdampak pada royalty atau persentase dari nilai penjualan

(11)

3 − Harus menyertakan kode sumber dari suatu program (software). Jika suaru

program tidak menyertakan kode sumber, alternatifnya, kode sumbernya harus tersedia di internet atau memberikan harga khusus.

− Lisensi harus membolehkan modifikasi. Dimana modifikasi program harus mempuntai terminilogi yang sama dengan software originalnya.

− Lisensi software harus secara eksplisit mengijinkan pendistribusian software untuk kode sumber yang telah dimodifikasi.

− Tidak boleh ada diskriminasi kepada siapa saja, baik individu maupun kelompok untuk persoalan lisensi.

− Lisensi harus bersifat netral terhadap teknologi individu dan style suatu interface.

Open Source untuk analisis statistik

Sekarang ini, telah banyak program (software) yang berlisensi Open Source yang secara mudah dapat di-download melalui Internet. Salah satu Open Source Software yang paling terkenal adalah Linux. Beberapa paket software turunan Linux yang merupakan hasil karya anak bangsa Indonesia, seperti blangkon linux, linux merdeka, aplikasi untuk warnet dari tim IGOS, dan lain sebagainya yang tidak bisa disebutkan satu persatu.

Produk perangkat lunak Open Source sudah merambah pada banyak bidang, terutama bidang pendidikan, terlebih pada statistik. Banyak perangkat lunak statistik berbasis Open Source atau berkategori Freeware yang sudah disediakn untuk publik, diantaranya:

Tabel 1.1 : Daftar spesisifkasi dan alamat software freeware / Open Source

No Nama Lisensi/OS Keterangan Situs Web

1 Dataplot Free- Multiplatform Untuk scientific visualization, statistical analysis dan non-linear modeling http://www.itl.nist.gov/div898/ software/dataplot/homepage.htm

2 ADE4 Data analisis http://pbil.univ-lyon1.fr/ADE-4/home.php?lang=eng

3 Vista Open

Source-Mac/Windows Statistical Visualization highly Dynamic and Very Interactive http://forrest.psych.unc.edu/ research/index.html

4 TANAGRA Open Source- Windows

Data Mining

http://eric.univ-lyon2.fr/~ricco/tanagra/ en/tanagra.html

(12)

4 5 R Open Source-Multiplatform Programming Environment for Data Analysis and Graphics http://cran.r-project.org/ 6 WINIDAMS Freeware-Windows Paket Software untuk Validasi, Manipulasi, dan Analisis Data Statistik http://www.unesco.org/idams 7 TRAMO-SEATS Freeware-Windows Software Statistik dan Econometric http://www.bde.es/servicio/ software/tswe.htm

8 JMULTI Open Source-windows/Linux Untuk Univariate dan Multivariate Time Series http://www.jmulti.de/

9 OPENSTAT Free untuk Windows/Linux

Untuk Social Science

http://www.statpages.org/ miller/openstat/

(13)

5 Dalam bab ini akan dijelaskan mengenai R, sejarah, penggunaan dan pengembangannya.

II.1. Sejarah & Pengembangan R

R adalah suatu kesatuan software yang terintegrasi dengan beberapa fasilitas untuk manipulasi, perhitungan dan penampilan grafik yang handal. R berbasis pada bahasa pemrograman S, yang dikembangkan oleh AT&T Bell Laboratories (sekarang Lucent Technologies) pada akhir tahun ’70 an. R merupakan versi gratis dari bahasa S dari software (berbayar) yang sejenis yakni S-PLUS yang banyak digunakan para peneliti dan akademisi dalam melakukan kegiatan ilmiahnya.

Pada awalnya, versi pertama R dibuat oleh Ross Ihaka and Robert Gentleman dari Universitas Auckland, namun selanjutnya R dikembangkan oleh tim yang disebut tim inti.

Tim inti (core team) terdiri dari ahli statistik, ahli komputer & pemrograman, geografi, ekonomi dari institusi yang berbeda dari seluruh dunia yang mencoba membangun sebuah sistem (software) yang handal namun dengan biaya yang sangat murah. Sampai tulisan ini dibuat, R dapat secara cuma-cuma didownload dan digunakan dengan berlisensi pada GNU General Public License.

Menurut kutipan dari penghargaan Association for Computing Machinery Software bagi John Chamber 1998, menyatakan bahwa (bahasa pemrograman) S telah “merubah orang dalam memanipulasi, visualisasi dan menganalisis data untuk selamanya”. R dibuat searah dengan ide yang ada pada bahasa pemrograman S.

Sampai tulisan ini dibuat versi R terbaru adalah R.2.4.1. , dan banyak projek lainnya yang berkaitan /berbasis /perluasan dari R, seperti geoR, Rattle, R Commander, SciViews R GUI, dan lain lain, yang anda dapat lihat ataupun download (jika sudah di terbitkan) di situs resmi projek R.

Software R dan Fitur-Fiturnya

BAB

II

(14)

6 II.2. R dan program statistik lainnya.

Seperti dijelaskan sebelumnya, R merupakan “kerabat” dekat dari S-PLUS dimana secara fungsi dan sintaks/tata bahasa sama-sama menggunakan bahasa S, namun tidak identik. R dapat berinteraksi dengan program statisik, manipulasi, perhitungan dan penampilan grafik lainnnya, seperti SPSS, yang cukup popular, Microsoft Excell dengan menyediakan fasilitas import dan eksport data.

Selain software di atas, R dapat melakukan import file dari software lainnya seperti, Minitab, SAS, Stat, Systat dan EpInfo.

Menurut [20], R adalah bahasa fungsional1, dimana terdapat inti bahasa yang menggunakan bentuk standar notasi aljabar, yang memungkinkan perhitungan numerik seperti 2+3, atau 3^11. Selain itu tersedia pula fasilitas perhitungan dengan menggunakan fungsi.

Dengan beberapa fitur tersebut, R menjadi alat yang tangguh bagi para statistikawan, ahli ekonomi, peneliti dalam membantu risetnya, dikarenakan R dibangun dan didukung dengan model dan teori statistik terdepan dan menggunakan standar tertinggi bagi analisis data. R hampir dapat digunakan untuk berbagai bidang, mulai dari kalkulasi biasa (seperti kalkulator), statistik, ekonometri, geografi, hingga pemrograman komputer.

II.2.1. Kelebihan dan Fitur-fitur R

R mempunyai karakteristik tersendiri, dimana selalu dimulai dengan prompt “

>“

pada console-nya.

R mempunyai beberapa kelebihan dan fitur-fitur yang canggih dan berguna, diantaranya:

- efektif dalam pengelolaan data dan fasilitas penyimpanan. Ukuran file yang disimpan jauh lebih kecil dibanding software lainnya.

- lengkap dalam operator perhitungan array,

- lengkap dan terdiri dari koleksi tools statistik yang terintegrasi untuk analisis data, diantaranya, mulai statistik deskriptif, fungsi probabilitas, berbagai macam uji statistik, hingga time series.

- tampilan grafik yang menarik dan fleksibel ataupun costumized

- dapat dikembangkan sesuai keperluan dan kebutuhan dan sifatnya yang terbuka, setiap orang dapat menambahkan fitur-fitur tambahan dalam bentuk paket ke dalam software R

Selain kelebihan dan kelengkapan fitur-fiturnya, hal yang terpenting lainnya yakni, R bersifat multiplatform, yakni dapat diinstall dan digunakan baik pada system operasi Windows , UNIX/LINUX maupun pada Macintosh. Untuk dua system operasi disbeutkan terakhir diperlukan sedikit penyesuaian.

Selain kelebihan disebutkan di atas, R didukung oleh komunitas yang secara aktif saling berinteraksi satu sama lain melalui Internet dan didukung oleh manual atau R-help yang menyatu pada software R.

Sebagai catatan, buku ini mengambil contoh pada penggunaan R pada system berbasis Windows.

(15)

7 II.2.2. R, Riset dan Akademis

Software R sangat cocok untuk riset, baik statistik,ekonomi, komputasi numerik dan pemrograman komputer. Karena didukung oleh banyak tenaga ahli dibidangnya, R layak dijadikan suatu perangkat lunak acuan bagi berbagai kalangan, terlebih di kalangan akademik (dosen, mahasiswa). Selain itu R memiliki fitur yang lengkap dan handal serta faktor tanggung jawab moral dan legal/hukum bukan lagi menjadi kekhawatiran dalam penggunaannya, karena dapat diperoleh secara GRATIS. Berikut adalah beberapa contoh yang didapat dari R sebagai acauan implementasi pada:.

1. Pemodelan matematis (seperti software MATLAB) dalam membentuk perspektif, cocok jurusan teknik arsitek, sipil, mesin, dan ilmu computer (pencitraan) x y z . z= Sinc( x2+ y2)

Gambar 2.1 : Grafik multidimensi hasil perhitungan R 2. Pencitraan dan analisis kontur, cocok untuk jurusan geografi dan sejenis

x y 100 200 300 400 500 600 700 800 1 0 0 2 00 30 0 400 500 600

M aunga Whau Volcano col=gray(100:200/200)

(16)

8 3. Proses analisis data statistik,dengan tampilan grafik plot yang costumized dan grafik fungsi densitas yang dapat diparalelkan dnegan histogram. Cocok untuk bidang statistika, ekonomi, dan lain lain.

Gambar 2.3 : Grafik scatter plot hasil perhitungan R

0 10 20 30 40 50

-1

0

123

Sim ple Use of Color In a Plot

Just a Whisper of a Label

(17)

9 Gambar 2.5 : Contoh grafik histogram R

(18)

10 Dalam bab ini akan dijelaskan tatacara penggunaan R, dimulai dari mendapatkan source-nya, instalasi dan penggunaan serta pengenalan menu-menu.

III.1. Mendapatkan Program (source) R

Program Sumber R dapat didownload secara gratis pada situs web projek R di

http://CRAN.R-project.org, serta dilengkapi dengan paket penunjang tools atau metode lainnya. Selain itu, R dapat anda install langsung dari CD yang disertakan dalam buku ini (termasuk contoh kode sebgai latihan dan manual). Versi yang kami gunakan dalam buku ini adalah R.2.1.1.

III.2. Instalasi

Instalasi yang kami jelaskan di sini yakni pada system operasi Windows dan Linux (dengan alasan penggunaan system operasi yang paling umum di Indonesia).

Sedangkan penggunaan R dalam tulisan ini berjalan pada system operasi Windows.

III.2.1. Instalasi di Sistem Operasi Windows

Cara instalasi pada system operasi Windows sangatlah mudah, yakni dengan mengklik dua kali pada file aplikasi rw2011 yang kemudian lakukan dalam delapan langkah mudah berikut ini:

Memulai R

BAB

III

(19)

11 Gambar 3.1: Langkah 1 instalasi

Pilih bahasa instalasi, kemudian Klik OK!

Gambar 3.2 : Langkah 2 instalasi

Klik Next untuk melanjutkan installasi

(20)

12 Gambar 3.3: Langkah 3 Instalasi

Pilih I accept the agreement (atau scroll ke bawah untuk membaca GNU GPL) dan klik Next untuk melanjutkan installasi

Gambar 3.4: Langkah 4 Instalasi

Pilih Browse dan tentukan directory installasi R anda, kemudian klik Next untuk melanjutkan instalasi

(21)

13 Gambar 3.5: Langkah 5 Instalasi

Pilih komponen yang akan diinstall (disarankan pilih semua), kemudian klik Next untuk melanjutkan instalasi

Gambar 3.6 : Langkah 6 Instalasi

Pilih Browse dan tentukan nama dan letak program R anda, kemudian klik Next untuk melanjutkan installasi

(22)

14 Gambar 3.7: Langkah 7 Instalasi

Pilih icon tambahan, kemudian klik Next untuk melanjutkan installasi

Gambar 3.8: Langkah 8 Instalasi

(23)

15

R 2.1.1

III.2.2. Melakukan Un-Instal R di Sistem Operasi Windows

Untuk menghilangkan/un-instal R sangat lah mudah. Normalnya, anda menuju Control Panel ->Add or Remove Programs -> Pilih R untuk di remove/un-install.

Cara kedua, dengan menuju Start -> All Programs -> R -> Uninstall R 2.1.1

Cara lainnya, apabila menginstall dalam Program Files/R/rw2011, maka lakukan langkah berikut:

Buka Windows Explorer Anda -> Program Files -> R -> rw2011 -> pilih icon aplikasi unins001.

Setelah anda melakukan salah satu dari tiga cara un-instalasi, maka akan keluar window:

Gambar 3.9 : Kotak dialog, konfirmasi un-instalasi

Klik Yes untuk melanjutkan un-install atau Klik No untuk membatalkan un-install.

III.2.3. Instalasi di Sistem Operasi Linux

Pada dasarnya R dapat bekerja hampir di semua sistem operasi yang ada sekarang ini, seperti Unix beserta turunannya termasuk Darwin, juga di Mac OS X, FreeBSD, Solaris dan termasuk LINUX. Ada distro/jenis Linux yang memerlukan cara instalasi, diantaranya (yang kami ambil dari situs R) adalah debian, Suse, Ubuntu. Namun dalam pembahasan tata cara instalasi, kami jelaskan bagian umum untuk sistem operasi ini.

III.2.4. Menu-menu dalam R

Setelah instalasi selesai anda dapat menjalankan R pada tombol menu Start>All Programs> R > R 2.1.1 atau klik dua kali ikon

(24)

16 Gambar 3.10: Posisi program R pada Start menu Desktop

Setelah menjalankan program R, windows yang tampil akan seperti gambar berikut.

(25)

17

Menu default R-RGui

Menu Utama

Berikut adalah tampilan menu utama dalam R console, yang masing-masing akan dijelaskan pada bagian berikutnya.

Gambar 3.12. : Menu utama R

1. Menu File

Menu ini menampilkan diantaranya: cara mengambil kode sumber R yang sudah ada tau tersimpan di komputer kita dengan menggunakan menu Source R code. Biasanya untuk perhitungan statistic tertentu kita dapat mendownload kode sumber dari internet secara Cuma-Cuma sehingga kita tidak harus menulis ulang kode sumber yang biasanya dengan jumlah baris perintah/command yang sangat panjang.

Menu ini juga memudahkan kita dalam menyimpan ruang kerja/workspace yang sedang kita kerjakan (menu Save Workspace) di R console ke dalam folder komputer kita dan menggunakannya kembali dengan menggunakan menu Load Workspace.

(26)

18 2. Menu Edit

Menu ini adalah menu editor yang diantaranya berisikan: menu editor yang umum seperti Copy, Paste, Select All, dan menu editor lainnya seperti menempelkan (paste) hanya commands, membersihkan console R sehingga console R yang penuh dengan commands akan putih bersih sediakala ketika memulai R. Selain itu kita dapat juga mengedit data yang kita miliki dengan emnggunakan menu Data editor.

Gambar 3.14: Menu Edit R 3. Menu Misc

Menu ini adalah menu tambahan diantaranya: memberhentikan seketika perhitungan yang sedang berlangsung dengan menggunakan tombol ESC; menampilkan objek (List objects) dan membuang objek (Remove all objects)

Gambar 3.15: Menu Misc (miscellaneous) R

4. Menu Packages

Menu ini berisikan fasilitas untuk menambahkan paket statistic dan paket lainnnya dalam menu Load package dan instalasi paket dalm Install package(s) dan update paket dalm Update packas serta memungkinkan instalasi paket dari file zip yang ada di komputer kita (local) dengan menggunakan menu Install package(s) from local zip files

(27)

19 Gambar 3.16: Menu Packages R

5. Menu Windows

Gambar 3.17: Menu Windows R

6. Menu Help

Menu ini berisikan sejumlah panduan, pertanyaan yang sering diajukan tentang R (FAQ) , fasilitas pencarian melalui situs resmi maupun situs proyek pengembangan R. Panduan dalam format html dan pdf (anda memerlukan pdf viewer terinstal di komputer seperti acrobat reader dan sejenisnya)

(28)

20 Gambar 3.18: Menu Help R

III.2.5. Library dan fungsi dasar dalam instalasi R.2.1

Ketika anda telah melakukan instalasi R 2.1.1 yang telah anda download, anda akan mendapatkan R dengan koleksi library dan fungsi standar yang termasuk penting, antara lain sebagai berikut:

Tabel 3.1: Paket dalam perangkat lunak R Library atau Fungsi Keterangan & Penjelasan

Base Paket dasar R

Chron Objek kronologis yang mengatasi masalah penanggalan hari dan waktu

Class Fungsi untuk pengklasifikasian Cluster Fungsi untuk klastering (clustering)

Datasets Paket kumpulan data-data R (contoh data-data)

Foreign Membaca data yang tersimpan dalam bentuk file dari software seperti Minitab, S,SAS,SPSS, Stata, dll.

Graphics Paket grafik R

GrDevices Fitur pendukung grafik untuk warna dan huruf

Grid Paket grafik Grid

KernSmooth Fungsi untuk pemulusan Kernel (Kernel Smoothing)

Lattice Grafik Lattice

MASS Main Library of Venables and Riple’s MASS Methods Metode Formal dan Pengkelasan (Classes)

Mle Maximum likelihood estimation (Penaksir Likelihood Maksimum)

Multcomp Test berganda dan interval kepercayaan simultan Mvtnorm Multivariate normal dan distribusi T

(29)

21 Tabel 3.1 (Lanjutan)

Library atau Fungsi Keterangan & Penjelasan

Nlme Non-linear and linear mixed effect models (Model efek linear campuran linear dan non-linear)

Nnet Feed-forward neural networks

Rgl Sistem penampilan tiga dimensi 3D (OpenGL)

Rpart Pempartisian rekursif

SparseM Aljabar linier Sparse

Spatial Fungsi untuk analisis pola titik-titik dan Kriging Splines Regresi fungsi Spline dan peng-kelasan

Stats Paket Statisik R (termasuk uji klasik, smoothing, regresi, analisis multivariate, non-linear least square, analisi time series, dll)

Stepfun Fungsi step, termasuk Distribusi Empirik

Survival Analisis Survival termasuk penalished likelihood

Utils Utilitas R

Sedangkan untuk paket dan uji dan tools statitistik lainnya serta untuk pemrograman dan grafik, bisa didownload di CRAN (situs Internet R).

(30)

22 IV.1. Manipulasi sederhana untuk bilangan dan vektor

Vektor dan assignment

R beroperasi pada suatu struktur data, contoh yang paling sederhana adalah vektor numerik, yakni suatu entitas tunggal yang terdiri dari koleksi terurut bilangan-bilangan. Misalkan pembuatan vektor numerik x yang mempunyai enam bilangan 11.0, 16.2, 7.2, 1.3, 8.3, 3.6. Perintah yang digunakan pada prompt (>) R sebagai berikut:

> x <− c(11.0, 16.2, 7.2, 1.3, 8.3)

Perintah ini merupakan assignment dengan menggunakan fungsi c(), sedangkan assignment operator adalah ”<-” yang terdiri dari tanda kurang dari ”<” dan tanda minus ”-”. Assignment tersebut di atas dapat juga dilakukan dengan menggunakan fungsi assign():

> assign("x", c(11.0, 16.2, 7.2, 1.3, 8.3))

Fungsi assign() identik dengan operator “<-“. Selain operan x terletak di sebelah kiri, pada R operan x tersebut dapat terletak di sebelah kanan dan dengan menggunakan tanda assignment ”->” yang berlawanan dengan tanda assignment sebelumnya, seperti berikut ini:

> c(11.0, 16.2, 7.2, 1.3, 8.3) −> x

Fitur Dasar R

BAB

IV

(31)

23 Perintah berikut:

> y <− c(x,0,x) > y

[1] 11.0 16.2 7.2 1.3 8.3 0.0 11.0 16.2 7.2 1.3 8.3

akan meng-assign vektor y dengan panjang 11 elemen, yang merupakan penggabungan (concatanation) vektor x, angka 0 dan vektor x.

Vektor Aritmatika

Vektor dapat digunakan dalam ekspresi aritmatika, dimana operasi-operasi aritmatika dilakukan pada setiao elemen vector. Vektor-vektor pada suatu ekspresi aritmatika yang sama tidak harus memiliki panjang yang sama. Hasil perhitungan yang melibatkan beberapa vektor dengan panjang yang berbeda akan menghasilkan vektor dengan panjang yang sesuai dengan vektor yang terpanjang dalam ekspresi tersebut. Pada vektor yang lebih pendek elemen akan diulang dari elemen terdepan hingga panjang vemtor tersebut sama dengan vektor yang terpanjang, begitupun dengan konstanta. Sebagai contoh perhatikan perintah berikut:

> v <− 2*x+y+1 > v

[1] 34.0 49.6 22.6 4.9 25.9 23.0 44.4 31.6 10.8 18.9 31.3

Perintah tersebut di atas akan menghasilkan vektor v dengan panjang sesuai dengan panjang vektor y, yaitu 11. Dimana vektor x diulang sebanyak 11/5 (2.2) kali dan konstanta 1 diulang sebanyak 11/1 (11) kali.

Beberapa operator aritmatik yang tersedia di R untuk operasi vektor adalah seperti pada tabel berikut:

Tabel 4.1 Operator Aritmatik dalam R

Operator Fungsi

+, -, *, / , ^ Penjumlahan, pengurangan, perkalian, pembagian dan perpangkatan

log, exp, sin, cos, tan, sqrt, mean, var

Logaritma basis 10, exponential, sinus, cosinus, tangen, akar kuadrat, nilai rata-rata dan varian

min, max, range, length Nilai minimum, maksimum, ranah vektor, dan panjang vektor

sum, prod Jumlah total elemen vektor dan product

(perkalian) vektor

Sebagai contoh, untuk menghitung dua nilai dalam sample, yakni mean dan variansi (var) dapat kita tuliskan formula sum(x)/length(x)untukmean(x) dan

sum((x-mean(x))^2)/(length(x)-1) untuk var(x)

Fungsi sort(x) akan menghasilkan sebuah vektor yang berukuran sama dengan vector x dimana elemennya sudah terurut dengan urutan menaik; selain itu terdapat

(32)

24 fasilitas pengurutan lain yang fleksibel (lihat fungsi order() atau sort.list() yang menghasilkan suatu permutasi dalam pengurutan).

> sort(x) [1] 1.3 7.2 8.3 11.0 16.2 > order(x) [1] 4 3 5 1 2 > sort.list(x) [1] 4 3 5 1 2

Catatan: fungsi max dan min memilih nilai terbesar dan terkecil dari input argumen. Fungsi parallel maksimum (pmax) dan parallel minimum (pmin) menghasilkan sebuah vector (yang panjangnya sama dengan vector yang terpanjang dari input argumen) dimana elemennya merupakan nilai terbesar (terkecil) diantara nilai elemen pada posisi yang sama dari vector-vektor input argument yang dibandingkan.

Pada kebanyakan penggunaan, kita tidak perlu memperhatikan tipe data numeric vektor apakah integer, real atau bahkan kompleks. Pada dasarnya R akan menggunakan tipe data real dengan double precision untuk melakukan proses aritmatika (untuk bilangan kompleks menggunakan double procision complex). Perhitungan bilangan kompleks secara eksplisit menggunakan format bilangan kompleks tersebut. Sebagai contoh:

> sqrt(-17) Warning message:

In sqrt(-17) : NaNs produced

Kesalahan disebabkan oleh tidak ada nilai untuk akar negatif, sehingga perlu dikonversi nilai -17 sebagai bilangan kompleks, yaitu -17 + 0i sehingga pencarian nilai akar -17 adalah:

> sqrt(-17+0i) [1] 0+4.123106i

yang menghasilkan bilangan kompleks Barisan

R juga mempunyai sejumlah fasilitas untuk membangkitkan (generate) barisan bilangan. Fungsi yang digunakan adalah seq(). Sebagai contoh, untuk menuliskan suatu barisan dari 1 hingga 20, kita tidak perlu menuliskan satu persatu elemen ke dalam vektor, cukup menuliskan

> seq (1, 20)

atau

> seq (from=1, to=20)

akan menghasilkan

(33)

25 Keterangan: [1] pada sisi paling kiri mengartikan baris ke-1 dari hasil perhitungan di R

> seq (20, 1)

Perintah tersebut akan menghasilkan barisan bilangan yang menurun dari 20 ke 1 Barisan bilangan juga dapat dibangkitkan dengan cacah kelipatan tertentu. Misalkan:

> s3 <- seq(from=-5, to=5, by=.5)

atau

> s3 <- seq(-5,5,by.5)

atau

> s3 <- seq(length=21,from-5,by=.5)

Ketiga perintah diatas menghasilkan keluaran yang sama. Argumen length menyatakan panjang vektor.

> s3

[1] -5.0 -4.5 -4.0 -3.5 -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0

[16] 2.5 3.0 3.5 4.0 4.5 5.0

Pembangkitan barisan bilangan yang elemennya merupakan pengulangan dapat dilakukan dengan menggunakan fungsi rep(), misalkan:

> s4 <- rep(x,times=5)

[1] 11.0 16.2 7.2 1.3 8.3 11.0 16.2 7.2 1.3 8.3 11.0 16.2 7.2 1.3 8.3

[16] 11.0 16.2 7.2 1.3 8.3 11.0 16.2 7.2 1.3 8.3

akan menyalin sebanyak 5 kali angka 4, sedangkan perintah berikut:

> s5 <- rep(4,each = 5)

[1] 11.0 11.0 11.0 11.0 11.0 16.2 16.2 16.2 16.2 16.2 7.2 7.2 7.2 7.2 7.2

[16] 1.3 1.3 1.3 1.3 1.3 8.3 8.3 8.3 8.3 8.3

akan menyalin setiap elemen x sebanyak 5 kali. Vektor Logika

Seperti halnya vektor numerik, R juga menyediakan fasilitas untuk memanipulasi nilai logika. Elemen dari suatu vektor logika dapat bernilai Boolean (TRUE atau FALSE) atau NA (untuk ”not available” (tidak tersedia)). TRUE dan FALSE masing-masing biasa disingkat T dan F. Dalam hal ini T dan F hanyalah sebagai variabel yang di set nilainya ke TRUE dan FALSE secara defaultnya, tetapi bukan merupakan reserved word, sehingga dapat digunakan sebagai variabel dengan tipe lainnya. Vektor logika dibangkitkan dengan menggunakan perintah kondisi, seperti:

(34)

26 akan menghasilkan suatu vektor yang panjangnya sam dengan vektor x dimana nilai elemennya merupakan nilai BOOLEAN dari hasil perbandingan nilai setiap elemen di x, dimana jika nilai elemen x < 13 maka bernilai TRUE selain itu bernilai FALSE. Sehingga nilai vektor temp adalah:

> temp

[1] FALSE TRUE FALSE FALSE FALSE

Operator logika yang ada di R adalah <, <=, >, >=, == untuk persamaan eksak dan != untuk pertidaksamaan. Jika c1 dan c2 adalah ekspresi logika, maka c1&c2 adalah irisan keduanya, c1|c2 adalah gabungan keduanya dan !c1 adalah negasi(atau ingkaran) dari c1

Vektor logika dapat digunakan pada operator aritmatik, dimana nilai FALSE dinyatakan sebagai 0 dan TRUE sebagai 1. Tetapi juga vektor logika dengan nilai numeriknya tidak ekivalen.

Missing value

Dalam beberapa kasus dijumpai adanya komponen yang tidak lengkap dari suatu vektor. Nilai atau elemennya menjadi “not available” atau “missing value”, dan untuk alasan statistika, biasanya digantikan dengan nilai khusus NA. Umumnya dalam setiap operasi NA akan menjadi NA. Motivasinya adalah, jika spesifikasi suatu operasi tidak lengkap, maka hasilnya tidak diketahui dan oleh karenanya menjadi “not available”.

Sebagai contoh, fungsi is.na(x) memberikan vektor logika yang mempunyai panjang yang sama dengan x dengan nilai TRUE jika dan hanya jika elemen yang berkorespondensi dalam x adalah NA.

> z <- c(1:3,NA); ind <- is.na(z) > z

[1] 1 2 3 NA > ind

[1] FALSE FALSE FALSE TRUE

Maksud dari hasil diatas, pertama mendefinisikan vektor c dengan elemen vector 1, 2, 3, NA. Kemudian membentuk vector ind berupa nilai logika dari setiap elemen c dengan kondisi is.na(z), yaitu apabila elemen di c berupa NA maka bernilai TRUE, selain itu bernilai FALSE.

Terkadang pada operasi perhitungan juga akan dijumpai hasil NaN (Not a Number) untuk kalkulasi yang tidak mempunyai nilai, misal

> 0/0 [1] NaN > Inf – Inf [1] NaN

(35)

27 Vektor karakter

Vektor ini sering digunakan dalam R, misalkan dalam memberikan label suatu plot. Vektor ini menggunakan tanda petik dua (“) atau tanda petik satu (‘) untuk string karakter, dan biasanya di print dalam petik dua (“) (kadang tanpa tanda petik).

Sebagai contoh

> labs <- paste(c("X","Y"), 1:10, sep="")

menghasilkan vektor karakter labs

[1] "X1" "Y2" "X3" "Y4" "X5" "Y6" "X7" "Y8" "X9" "Y10"

IV.2. Objek dan Atribut

Entitas dalam R dikenal sebagai objek. Vektor logika, vektor numeric, vektor karakter adalah suatu objek. Operasi pada objek harus mempunyai mode (atau sifat/property) objek yang sama, tanpa kesamaan tersebut maka operasi akan mengalami kesalahan (error). Singkatnya, nilai vektor semuanya harus mempunyai mode yang sama.

Atribut (attribute)

Fungsi attribute(object) menampilkan/mendapatkan daftar semua atribut non-instrinsik yang didefinisikan untuk suatu objek. Fungsi attr(object, name)dapat digunakan untuk memilih suatu atribut tertentu. Sebagai contoh

> attr(z, "dim") <- c(10,10)

mendefiniskan bahwa z memiliki mode sebagai matriks berukuran 10 x 10. Kelas (class) Objek

Semua objek di R mempunyai kelas, dengan menggunakan fungsi class().

Kelas objek yang merupakan atribut spesial digunakan dalam pemrograman berorientasi object di R. Sebagai contoh, suatu objek dengan kelas “data.frame”, akan ditampilkan (di print) dengan cara tertentu. fungsi plot() akan menampilkan grafik dalam cara tertentu. Secara umum, suatu kelas objek mempunyai tampilan yang berbeda-beda.

Untuk menghilangkan sementara efek dari kelas, maka dapat digunakan fungsi unclass(). Sebagai contoh, jika notebook berkelas “data.frame” maka

> notebook

akan dicetak dalam bentuk data frame, yang mirip dengan tampilan matriks, dimana

> class(notebook)

(36)

28 IV.3. Faktor terurut dan tidak terurut

Suatu faktor adalah objek vektor yang digunakan untuk menspesifikasikan pengelompokan (grouping) diskrit komponen-komponen vektor lain yang mempunyai panjang yang sama. R menyediakan fasilitas untuk factor baik terurut maupun factor tidak terurut.

Sebagai contoh, misalkan terdapat sample 15 akuntan pajak dari beberapa provinsi di pulau jawa, yaitu: 1 dari Banten (btn), 4 dari Jakarta (jkt), 3 dari Jawa Barat (jabar), 3 dari Jawa Tengah (jateng), 2 dari Yogyakarta (diy) dan 2 dari Jawa Timur (jatim). Vektor akuntan dinyatakan sebagai berikut:

> prov <- c("btn", "btn", "btn", "dki", "dki","dki", "dki", "jabar", "jabar", "jabar", "jateng", "jateng", "jateng", "diy","diy", "jatim", "jatim")

Suatu faktor dibuat dengan menggunakan fungsi factor()

> provf <- factor(prov)

Fungsi print() menangani factor dengan cara yang sedikit berbeda dari objek lain:

> provf

[1] btn btn btn dki dki dki dki jabar jabar jabar

[11] jateng jateng jateng diy diy jatim jatim

Levels: btn diy dki jabar jateng jatim

Untuk menentukan level suatu vektor, gunakan fungsi level()

> levels(provf)

[[1] "btn" "diy" "dki" "jabar" "jateng" "jatim"

Fungsi tapply()

Melanjutkan contoh sebelumnya, setiap akuntan memiliki pendapatan yang dinyatakan dalam suatu vector yang berbeda, yaitu vector incomes.

> incomes <- c(50, 82, 75, 80, 60, 61, 64, 60, 60, 75, 89, 96, 68, 89, 96, 93, 78)

Untuk menghitung nilai mean sample pendapatan untuk setiap provinsi, kita gunakan fungsi tapply():

> incmeans <- tapply(incomes, provf, mean); > incmeans

akan memberikan mean vektor untuk setiap provinsi

btn diy dki jabar jateng jatim 69.00000 92.50000 66.25000 65.00000 84.33333 85.50000

(37)

29 Selain itu kita juga dapat mendefinisikan fungsi sendiri di R. Seperti berikut ini merupakan pendefinisian fungsi standard error (stderr):

> stderr <- function(x) sqrt(var(x)/length(x))

dimana var(x) adalah variansi sample.

Selanjutnya, standar error untuk masing-masing prov dituliskan sebagai berikut:

> incster <- tapply(incomes, provf, stderr) > incster

btn diy dki jabar jateng jatim 9.712535 3.500000 4.661455 5.000000 8.412953 7.500000

Faktor terurut

Level-level dari faktor-faktor disimpan secara terurut alfabetis, atau dalam urutan dimana faktor dispesifikasikan secara eksplisit. Terkadang level akan memiliki suatu urutan yang sesuai dengan yang diinginkan untuk merekam data yang kemudian digunakan untuk analisis statistik. Fungsi ordered() membentuk factor terurut tetapi identik dengan fungsi faktor(). Pada kebanyakan penggunaan, yang hanya menjadi perbedaan antara faktor terurut dengan tidak terurut adalah pembentukan urutan level. Tetapi hal ini berbeda dengan pembentukan dalam model pencocokan linear.

IV.4. Matriks dan Array

IV.4.1 Array

Suatu array adalah koleksi beragam model subscript data entri, misalkan numerik. R memiliki fasilitas untuk pembuatan dan penanganan array, dan khususnya matriks. Dimensi vektor adalah vektor bilangan bulat non-negatif. Jika panjang vektor tersebut k maka array merupakan berdimensi k. Sebagai contoh, matrik adalah array berdimensi 2. Dimensi adalah indeks dari satu hingga nilau yang diberikan dalam dimensi vektor. Suatu vektor dapat digunakan di R sebagai suatu array jika hanya memiliki dimensi sama dengan atribut dim nya. Misalkan suatu vektor z merupakan vektor yang terdiri dari 1500 elemen. Perintah

> dim(z) <- c(3,5,100)

Memberikan ke vektor nilai atribut dim yang menyatakan vektor tersebut merupakan array dengan dimensi 3x5x100.

R memiliki fungsi yang dapat mempermudah penulisan vektor yakni matrix() dan array().

Contoh, jika array berdimensi vektor c(3, 4, 3) maka array tersebut mempunyai 3 x 4 x 3 =36 elemen.

(38)

30 IV.4.2 Indeks matriks

Suatu matriks dapat digunakan dengan indeks tunggal untuk memberukan nilai untuk koleksi elemen yang tidak beraturan dalam array tersebut, atau untuk mengekstraksi koleksi yang tidak beraturan sebagai suatu vektor.

Contoh yang jelas adalah suatu matriks. Dalam hal indeks ganda suatu array, suatu indeks matriks dapat terdiri dari dua kolom dan banyak baris sesuai dengan yang diinginkan. Entri dalam indeks matriks adalah indeks baris dan kolom untuk array berindeks ganda. Misalkan kita memilik array X berdimensi 4x5 dan untuk mendapatkan array X tersebut dapat melakukan hal sebagai berikut:

− Ekstrak elemen X[1,3], X[2,2] dan X[3,1] sebagai suatu struktur vektor, dan

− Menggantikan entri-entri pada indeks tersebut dengan 0 dalam array X Dalam kasus ini, diperlukan suatu array bersubscript 3x2 seperti contoh berikut ini:

> x <- array(1:20, dim=c(4,5))

Perintah tersebut akan membentuk array berukuran 4 x 5

> x [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20 > i <- array(c(1:3,3:1), dim=c(3,2))

Perintah tersebut akan membentuk array berukuran 3x2

> i

[,1] [,2] [1,] 1 3 [2,] 2 2 [3,] 3 1

> x[i] # Mengekstrak elemen-elemen tersebut [1] 9 6 3

> x[i] <- 0

perintah di atas mengganti elemen-elemen tersebut dengan nol > x [,1] [,2] [,3] [,4] [,5] [1,] 1 5 0 13 17 [2,] 2 0 10 14 18 [3,] 0 7 11 15 19 [4,] 4 8 12 16 20

(39)

31 Indeks negatif tidak diperbolehkan dalam indeks matriks. Nilai 0 dalam indeks matriks akan diabaikan, sedangkan nilai NA akan menghasilkan NA.

IV.4.3 Fungsi array( )

Selain menggunakan atribut dim (dimension), sebuah vector dapat juga dibentuk dengan menggunakan fungsi array(), dengan bentuk umum sebagai berikut:

> Z <- array(data_vector, dim_vector)

Sebagai contoh, jika vektor h mempunyai 24 atau lebih sedikit elemen, maka dapat dituliskan dengan cara seperti berikut:

>Z <- array(h, dim=c(3,4,2))

perintah tersebut akan membentuk array 3x4x2 di Z. Sedangkan jika ukuran h adalah tepat 24 elemen maka hasilnya sama dengan

> dim(Z) <- c(3,4,2)

However if h is shorter than 24, its values are recycled from the beginning again to make it up to size 24

Tetapi jika h lebih pendek dari 24, maka nilainya digunakan (diputar) kembali dari depan hingga ukurannya menjadi 24.

Dalam hal indeks, dim(Z) menyatakan dimensi vector c(3,4,2) dan Z[1:24] menyatakan data vektor seperti h di atas, dan Z[] dengan subscript hampa atau Z tanpa subscript untuk menyatakan array keseluruhan sebagai array.

IV.4.4 Outer product dari dua array

Outer product merupakan salah satu operasi yang penting dalam array. Jika a dan b dua array numeric, outer product dari array tersebut adalah sebuah array dengan dimensi dan data dari array a dan b sesuai dengan ketentuan perkalian matriks. Operator outer product berbentuk %o% . Contoh:

> ab <- a %o% b

Sebagai alternative:

> ab <- outer(a,b,”*”)

Fungsi perkalian dapat digantikan oleh sembarang fungsi dengan dua variabel. Sebagai contoh jika akan menghitung fungsi f(x,y) = cos(y) = (1 + x2) pada grid nilai vektor sumbu x dan y di R, maka dapat dilakukan sebagai berikut:

> f <- function(x, y) cos(y)/(1 + x^2) > z <- outer(x, y, f)

(40)

32

Secara khusus, outer product dua vector adalah array dengan subscript ganda (yaitu sebuah matriks dengan rang paling besar 1). Operator outer product bersifat non komutatif.

Contoh: Perhitungan nilai determinan matriks berdigit tunggal berukuran 2x2. [a, b; c, d] dimana setiap elemen adalah integer non negative dalam range 0, 1, ;..., 9. Permasalahannya adalah bagaimana menghitung determinan ad-bc, dari semua kemungkinan matriks dalam bentuk yang ditentukan tersebut serta menunjukkan frekuensi kemunculan setiap nilai sebagai plot densitas tinggi (high density). Untuk mendapatkan probabilitas distribusi determinan jika setiap digit dipilih secara bebas dan acak secara uniform, maka digunakan fungsi outer() sebanyak dua kali seperti berikut:

> d <- outer(0:9, 0:9)

> fr <- table(outer(d, d, "-"))

> plot(as.numeric(names(fr)), fr, type="h",xlab="Determinan", ylab="Frekuensi")

Catatan: konversi dari atribut names dari table frekuensi fr ke numeric untuk mendapatkan

range nilai determinan.

Hasil dari perintah di atas adalah sebagai gambar plot berikut:

(41)

33 IV.4.5 Array Transpose

Fungsi aperm(a, perm) digunakan untuk permutasi array a. Argumen perm adalah permutasi bilangan bulat {1, ..., k}, dimana k adalah banyaknya

subscripts dalam a. Hasil fungsi tersebut adalah array yang berukuran sama dengan a namun dengan dimensi yang sebelumya diberikan oleh perm[j] menjadi dimensi baru yakni dimensi ke j.

Cara paling mudah, yakni dengan menganggap operasi tersebut sebagai transposisi matrik. Jika A adalah matrik, maka B (sebagai permutasi A) dituliskan sebagai beirkut:

> B <- aperm(A, c(2,1))

adalah transpos A dan dapat juga ditulis

> B <- t(A)

IV.4.6 Fasilitas matriks

Matriks merupakan array dengan dua subscript (baris dan kolom).

Dalam bagian ini akan dijelaskan fasilitas matriks yakni operasi dan operator yang penting dalam matriks seperti perkalian matriks, persamaan linier, inverse matriks, nilai eigen dan vektor eigen, determinan dan dekomposisi nilai tunggal, least squares fitting and the dekomposisi QR.

Perkalian matrik

Jika A dan B adalah matrik, maka

> A * B

matrik dengan perkalian elemen (elemen product) dan dinyatakan sebagai:

> A %*% B

matrik dengan perkalian matriks (matrix product). Jika x adalah vektor, maka

> x %*% A %*% x

adalah bentuk kuadrat.

Fungsi crossprod() membentuk “crossproducts”, yang berarti crossprod(x, y) adalah sama dengan t(x)%*% y. Dalam hal ini akan lebih efisien dalam penulisan.

Fungsi diag() mempunyai arti yang tergantung pada argumennya. Untuk vektor v, maka diag(v), berarti s diagonal matrik v.

Untuk matrik M, diag(M), berarti matrikx yang merupakan diagonal utama dari matrik M. Konvensi pengertian tersebut serupa juga dalam software Matlab.

(42)

34 Persamaan linier dan inverse matrik

R mempunyai fasilitas untuk mencari pemecahan persamaan linier matriks dan invers matrik.

Diberikan matrik A dan b , maka persamaan Ax = b dituliskan,

> b <- A %*% x

dengan vektor x adalah solusi sistem persamaan linier (spl). Solusi dari persamaan tersebut, dalam R ditulis:

> solve(A,b)

Dalam aljabar linier, secara formal x = A-1 b dimana A-1 menyatakan inverse A, yang dapat dihitung dengan solve(A) tetapi jarang digunakan. Secara nukerik, keduanya tidak efisien dan berpotensi tidak stabil untuk menghitung

> x <- solve(A) %*% b daripada solve(A,b).

Nilai eigen dan vektor eigen

Dalam R, fungsi eigen(Sm) digunakan untuk menghitung nilai eigen dan vektor eigen suatu matrik simetris Sm. Hasil dari fungsi ini adalah daftar/list dua komponen dengan nama values (nilai eigen) dan vectors (vektor eigen).

Penulisan dari vektor eigen adalah sebagai berikut:

> ev <- eigen(Sm)

dimana menunjukkan daftar objek ev. Maka ev$val adalah vektor dari nilai eigen matrik simeteris Sm dan ev$vec adalah matrik yang berkoresponden vektor eigen Jika kita hanya akan mencari nilai eigen, maka dapat tuliskan perintah sebagai berikut:

> evals <- eigen(Sm)$values

objek evals menunjukkan vektor dari nilai eigen dan komponen kedua (eigen vector) diabaikan.

Jika dituliskan suatu perintah

> eigen(Sm)

(43)

35 Saran: Untuk matrik yang berukuran besar, lebih baik hindari perhitungan vektor eigen.

Determinan dan dekomposisi nilai tunggal

Jika M adalah matriks kuadrat, maka fungsi

> absdetM <- prod(svd(M)$d)

menyatakan perhitung nilai mutlak (absolute) determinan M.

Untuk menghitung dekomposisi nilai tunggal, dapat menggunakan fungsi svd(M), dimana M adalah matrik sembarang, u adalah kolom matrik orthogonal dan d matrik diagonal yang semuanyabernilai positif.

Fungsi lsfit() akan mengahsilkan prosedur least squares. Penulisannya adalah

> ans <- lsfit(X, y)

Berikut merupakan contoh untuk menghitung dekomposisi QR, dengan menggunakan fungsi qr()

> Xplus <- qr(X)

> b <- qr.coef(Xplus, y) > fit <- qr.fitted(Xplus, y) > res <- qr.resid(Xplus, y)

akan menghitung proyeksi orthogonal y pada range X, fit menunjukkan proyeksi pada orthogonal komplemen dan b sebagai vektor koefisien untuk proyeksi.

Dalam hal ini, tidak diasumsikan bahwa X mempunyai rank kolom yang lengkap. Masalah redudansi akan ditemukan dan dihilangkan pada saat terdeteksi.

IV.4.7 Pembentukan matrik partisi (forming partitioned matrices), cbind() dan rbind()

Fungsi bind() dalam cbind() dan rbind() mempunyai arti mengikat/menyatukan. Lengkapnya cbind() berarti membentuk matrik dengan menyatukan/mengikat matrik-matrik secara baris (horizontal) atau/terhadap kolom (vertikal) dan rbind() menyatukan/mengikat matrik-matrik secara kolom atau/terhadap baris. Bentuk penulisannya adalah sebagai berikut:

> X <- cbind(arg_1, arg_2, arg_3, ...)

dimana argumen-argumennya dalam bentuk vektor, atau matrik yang kolomnya berukuran sama.

Sama halnya dalam penulisan rbind(), argument-argumennya dalam bentuk vektor, atau matrik yang barisnya berukuran sama.

(44)

36 Misal X1 dan X2 mempunyai baris dengan jumlah yang sama. Untuk mengkombinasikannya terhadapa kolom ke dalam matrik x, maka dituliskan

> X <- cbind(1, X1, X2)

Hasil cbind() dan rbind() adalah matrik. Oleh karena itu cbind() dan rbind()adalah cara yang paling mudah untuk memperlakukan vektor x sebagai matriks baris atau matrik kolom.

IV.4.8 Tabel frekuensi dari suatu faktor

Perlu diingat kembali, karena faktor mendefinisikan suatu partisi ke dalam bentuk kelompok (grup), maka secara similar faktor juga mendefinisikan klasifikasi silang dua arah, dan seterusnya.

Fungsi table() digunakan untuk menghitung tabel frekuensi dari faktor dengan panjang yang sama. Jika terdapat k faktor argument, akan menghasilkan frekuensi berbentuk array yang berukuran k (k –arah).

Sebagai contoh, anggap, dengan menggunakan contoh pada data mengenai provinsi di pulau jawa, faktor provf akan mengatur menjadi kode-kode untuk setiap provinsi. Penulisan pernyataan ini adalah:

> provfr <- table(provf)

memebentuk provfr sebagai table frekuensi setiap provinsi (prov) dalam sample dengan output seperti berikut:

btn diy dki jabar jateng jatim 3 2 4 3 3 2

Frekuensi akan diurutkan dan diberi label dengan atribut level suatu faktor. Penulisannya sebagai berikut:

> provfr <- tapply(provf, provf, length)

Anggap, incomef adalah faktor yang membentuk “bagian/ kelas dari pendapatan (income)” untuk setiap entri dalam data, sebagai contoh kita dapat menggunakan fungsi cut()

> factor(cut(incomes, breaks = 35+10*(0:7))) -> incomef

Dan untuk membentuk table frekuensi dua arah, kita tuliskan:

> table(incomef,provf) provf

incomef btn diy dki jabar jateng jatim (45,55] 1 0 0 0 0 0 (55,65] 0 0 3 2 0 0 (65,75] 1 0 0 1 1 0 (75,85] 1 0 1 0 0 1 (85,95] 0 1 0 0 1 1 (95,105] 0 1 0 0 1 0

(45)

37 IV.5. List dan Frame Data

List (daftar) dalam R adalah objek yang terdiri dari koleksi terurut suatu objek yang disebut sebagai komponen.

Suatu komponen dalam list tidak harus berjenis atau mode yang sama. Sebagai contoh, suatu list dapat terdiri dari vektor numerik, nilai logika, matriks, vektor komplek, array karakter, fungsi, dan lain lain.

Penulisan berikut adalah contoh membuat suatu list:

> Lst <- list(name="Fred", wife="Mary", no.children=3, child.ages = c(4,7,9)) > Lst $name [1] "Fred" $wife [1] "Mary" $no.children [1] 3 $child.ages [1] 4 7 9

List (daftar) baru dapat dibentuk dari objek yang sudah ada dengan menggunakan fungsi list(). Cara penulisannya adalah sebagai berikut:

> Lst <- list(name_1=object_1, ...,name_m=object_m)

Akan membentuk list Lst dengan m komponen dan menggunakan object_1, ..., object_m serta memberikan nama masing-masing dengan argument names.

Jika nama dihilangkan , komponennya hanya berupa bilangan.

Suat list, dapat diperluas dengan menambahkan komponen-komponen tambahan. Sebagai contoh

> Lst[5] <- list(matrix=Mat); Lst[5]

Frame Data (data frame)

Frame Data adalah list dengan kelas “data.frame”. Sebagai catatan, ada emapat hal pembatasan suatu list diubah menjadi data frame, yakni:

− Komponennya harus berupa vektor (numeric, karakter atau logika), faktor, matriks numeric, list, atau data frame lainnya.

− Matriks, list, dan data frame menyediakan banyak variable untuk data frame sebanyak kolom, elemen atau variable yang dimiliki/didefinisikan sebelumnya.

(46)

38 − Struktur vektor yang ditampilkan dalam bentuk variable suatu data frame

harus memiliki panjang yang sama, struktur matriknya harus mempunyai ukuran baris yang sama.

Dalam praktiknya, data frame sering digunakan dalam bentuk matriks. Membuat Data Frame

Fungsi yang digunakan untuk membuat data frame adalah data.frame. Seperti contoh berikut:

> akuntan <- data.frame(home=provf, loot=incomes, shot=incomef)

akan membentuk objek akuntan sebagai suatu data frame. Fungsi attach( ) dan detach( )

Fungsi attach() digunakan untuk memepermudah penulisan dalam list dan data frame, seperti penggunaan notasi $ pada penulisan akuntan$provf .

Misal, anggap lentils terdiri tiga variable lentils$u, lentils$v, lentils$w. Maka penulisan

> attach(lentils)

akan menempatkan data frame kedalam jalur pencarian pada posisi 2, dan menyatakan bahwa tidak ada variable u, v atau w pada posisi 1. u, v dan w adalah variable dari frame dalam bentuk awal yang sudah ditentukan sebelumnya. Dalam hal ini, penulisan

> u <- v+w

tidak menggantikan komponen u dari data frame, namun hanya menutupinya dengan variable u lainnya dalam direktori kerja (working directory) pada posisi 1 pada jalur pencarian.

Sedangkan untuk membuat perubahan atau pergantian suatu data frame yang permanent, cara yang sederhana yang dapat dilakukan dengan mengurutkan ulang (resort) pada notasi $:

> lentils$u <- v+w

Namun bagaimanapun, nilai baru suatu komponen u tidak tampak (visible) sampai data frame di-detach dan di-attach lagi. Untuk men-detach-nya dengan menuliskan fungsi

> detach()

(47)

39 Sebagai contoh, untuk men-detach data frame lentils, dengan menuliskan

> detach(lentils)

Bekerja dengan data frame

Berikut adalah cara bekerja dengan data frame dalam direktori kerja yang sama:

− Kumpulkan secara bersamaan semua variable dari setiap permasalahan yang telah didefinisikan dan terpisah dalam data frame dengan nama informative yang sesuai

Ketika mengerjakan/memproses suatu permasalahan, attach data frame yang bersangkutan pada posisi 2, dan gunakan direkori kerja pada level 1 untuk kuantitas operasional dan variable sementara/temporer;

− Sebelum keluar dari suatu permasalahan, tambahkan sebarang variable yang ingin anda simpan untuk referensi kerja selanjutnya dengan menggunakan assignment $ dan kemudian detach();

Catatan: lebih mudah apabila bekerja dalam direktori yang sama.

IV.6. Membaca Data Suatu File

Suatu objek data yang berukuran besar, biasanya dibaca sebagai nilai dari file eksternal (selain dari data R yang sedang kita kerjakan). Fasilitas input data di R, sangat mudah , sebgai contoh fungsi scan() yang dapat langsung kita panggil (fungsi scan(), fungsi yang primitive), sedangkan untuk data yang besar, dengan menggunakan fungsi read.table().

Fungsi read.table()

Untuk langsung membaca data frame dari suatu file eksternal yang normalnya mempunyai bentuk khusus:

• Baris pertama file terdiri dari nama setiap variabel dalam data frame

• Setiap penambahan baris pada suatu file mempunyai label baris dan nilai untuk setiap variable pada baris pertama.

Jika suatu file mempunyai item yang lebih sedikit pada baris pertamanya dibanding baris kedua, harus dilakukan suatu perubahan. Maka dalam baris pertama yang lebih sedikit akan dibaca sebagai data frame yang terlihat pada tabel berikut ini:

(48)

40 Ket: 01,02,03,04,05, ….. adalah label untuk setiap baris dalam data frame Dengan item numerik yang sudah ditetapkan secara default (kecuali label baris) akan dibaca sebagai variabel numerik dan variabel non numerik, seperti pada Cent.heat yang dianggap sebagai factor, dan jika diperlukan, hal tersebut dapat diubah.

Fungsi read.table() digunakan untuk membaca data frame secara langsung:

> HargaRumah <- read.table("rumah.data")

Kita juga dapat menghilangkan label baris untuk data frame dengan menuliskan

> HargaRumah <- read.table("rumah.data",header=TRUE)

header=TRUE digunakan untuk mengatur tabel data frame dalam bentuk default, sehingga label baris tidak akaan tampak, seperti dalam tabel berikut:

Fungsi scan()

Apabila akan membaca beberapa vektor data dengan panjang yang sama secara parallel (anggap ada tiga vektor, yang pertama dalam bentuk karakter dan sisanya dalam bentuk numeric, dan filenya adalah input.dat), maka pertama dapat menggunakan fungsi scan() untuk membaca ketiga vektor dalam bentuk list, dengan menuliskan:

> inp <- scan("input.dat", list("",0,0))

Pada fungsi scan tersebut, argumen kedua adalah struktur list dummy, yang menetapkan mode ketiga vektor dapat dibaca. Hasilnya adalah objek inp yang

Input file form with names and row labels:

Price Floor Area Rooms Age Cent.heat 01 52.00 111.0 830 5 6.2 no 02 54.75 128.0 710 5 7.5 no 03 57.50 101.0 1000 5 4.2 no 04 57.50 131.0 690 6 8.8 no 05 59.75 93.0 900 5 1.9 yes

Input file form with names and row labels:

Price Floor Area Rooms Age Cent.heat 52.00 111.0 830 5 6.2 no 54.75 128.0 710 5 7.5 no 57.50 101.0 1000 5 4.2 no 57.50 131.0 690 6 8.8 no 59.75 93.0 900 5 1.9 yes

(49)

41 merupakan list yang komponennya adalah ketiga vektor tersebut. Untuk memisahkan item data menjadii tiga vektor terpisah, kita tuliskan:

> label <- inp[[1]]; x <- inp[[2]]; y <- inp[[3]]

Kita juga dapat memberikan nama komponen pada daftar dummy, (dalam kasus ini) digunakan untuk mengakses vektor yang ada di dalamnya. Sebagai contoh:

> inp <- scan("input.dat", list(id="", x=0, y=0))

Jika anda ingin mengakses variabel secara terpisah, hal itu dapat dilakukan dengan re-assign variabel pada data frame, kita tuliskan:

> label <- inp$id; x <- inp$x; y <- inp$y

Jika argument kedua merupakan nilai tunggal atau tidak ada dalam list, maka semua komponen dalam vektor harus mempunyai mode yang sama sebagai nilai dummy.

> X <- matrix(scan("light.dat", 0), ncol=5, byrow=TRUE)

Mengakses dan menggunakan data yang built-in di R.

Ketika anda meng-instal R, maka anda mempunyai sekitar 100 kumpulan data sebagai contoh atau latihan ( dalam paket dataset) . Untuk melihat kumpulan data tersebut, tuliskan:

> data()

(50)

42 Gambar 4.2: Dataset default dalam R

untuk melihat kumpulan data lengkap, maximize-kan window menjadi gambar berikut:

Figur

Memperbarui...

Referensi

Memperbarui...

Related subjects :