• Tidak ada hasil yang ditemukan

Catatan: Versi lengkap dapat dibacadilihat pada CD dengan Acrobat Reader

N/A
N/A
Protected

Academic year: 2019

Membagikan "Catatan: Versi lengkap dapat dibacadilihat pada CD dengan Acrobat Reader"

Copied!
143
0
0

Teks penuh

(1)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 1 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

MODEL-MODEL STATISTIKA

(Handout/ E-book

Untuk Program S2 Matematika)

Prof. Drs. I. M. Tirta, Dip.Sc, M.Sc., Ph.D.

[email protected]

(2)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 2 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Daftar Isi

1 DASAR-DASAR PEMROGRAMAN R 15

1.1 Tampilan R-Console . . . 16

1.2 Beberapa Fungsi Penting dalam R . . . 20

1.2.1 Operasi Vektor dan Matriks. . . 20

1.2.2 Fungsi Dasar Statistika . . . 22

1.2.3 Fungsi Pembangkit Data Peubah Acak . . . 24

1.2.4 Fungsi untuk Menangani Grafik. . . 26

1.2.5 Perintah Penanganan Berkas R . . . 30

1.3 Memanfaatkan Pustaka . . . 45

1.3.1 Mencari Informasi Pustaka . . . 45

1.3.2 Memanggil Pustaka . . . 47

1.3.3 Aplikasi R untuk Manipulasi Grafik . . . 49

1.4 Menulis Program pada R . . . 59

1.4.1 Komponen-Komponen Program . . . 59

(3)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 3 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.4.3 Mendefinisikan Fungsi dalam R . . . 67

1.4.4 Mengevaluasi Nilai Fungsi. . . 72

1.4.5 Mengemas Keluaran Fungsi . . . 76

1.4.6 Menghindarkan Loop . . . 79

1.4.7 Menghitung Akar-Akar Persamaan dengan Metode Numerik . 84 1.5 Mengemas Fungsi Menjadi Paket . . . 98

1.6 Mengemas Paket . . . 100

1.6.1 Menyiapkan Fungsi-fungsi Terkait . . . 100

1.6.2 Menyiapkan Dokumen Bantuan. . . 100

1.6.3 Menyiapkan Program Pendukung . . . 103

1.6.4 Langkah Mengemas Paket . . . 104

1.6.5 Aplikasi R untuk Model Statistika/ Analisis Regresi . . . 106

1.6.6 RCommnder RGUI untuk analisis dasar . . . 109

1.7 Bacaan Lebih lanjut . . . 110

I

Prasyarat Distribusi Keluarga Eksponensial

111

2 LEBIH LANJUT TENTANG DISTRIBUSI ACAK 112 2.1 Distribusi Gamma . . . 116

2.1.1 Fungsi Gamma . . . 116

2.1.2 Distribusi Gamma . . . 118

2.2 Momen dari peubah acak berdistribusi Gamma . . . 128

2.3 Beberapa Bentuk Khusus . . . 131

2.3.0.1 Distribusi χ2 . . . 131

(4)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 4 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

2.4 Hubungan antara Beberapa Distribusi . . . 137

2.5 Unifikasi Sebaran dalam Sebaran Keluarga Eksponensial . . . 142

2.5.1 Bentuk umum . . . 142

2.5.2 Nilai-tengah dan Ragam daria(Y) . . . 143

2.5.3 Beberapa Bentuk Khusus . . . 147

2.5.3.1 Distribusi Binomial dengan Parametern, p . . . 147

2.5.3.2 Distribusi Poisson dengan Parameterθ.. . . 148

2.5.3.3 Distribusi Normal dengan Parameter θdan σ . . . . 149

2.5.3.4 Distribusi Gamma dengan parameters θdan skalaφ. 149 2.5.3.5 Distribusi lainnya . . . 150

2.6 Perluasan Distribusi dengan Tiga dan Empat Parameter . . . 154

2.7 Distribusi Bertingkat/Campuran . . . 156

2.7.1 Distribusi Poisson-Gamma . . . 159

2.7.2 Distribusi Binomial-Beta . . . 162

2.7.3 Distribusi Normal-normal . . . 163

2.8 Bacaan Lebih Lanjut . . . 165

2.9 Soal-soal Latihan . . . 166

3 Distribusi t dan F 169 3.1 Distribusi t . . . 170

3.2 Distribusi F . . . 173

4 Distribusi Statistik 179 4.1 Beberapa hasil . . . 183

(5)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 5 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

5 DASAR-DASAR PEMODELAN STOKASTIK 187

5.1 Prinsip Pemodelan . . . 191

5.2 Langkah-langkah Penting Dalam Pemodelan . . . 198

5.2.1 Langkah penting dalam Pemodelan secara Umum . . . 198

5.2.2 Langkah penting dalam Pemodelan Stokastik . . . 199

5.3 Metode Mengestimasi Parameter . . . 205

5.3.1 Metode kuadrat terkecil . . . 205

5.3.2 Metode likelihood maksimum . . . 206

5.3.3 Mencari maksimum dengan metode numerik . . . 207

5.4 Model Linier dan Perkembangannya . . . 211

5.4.1 Model linier klasik . . . 212

5.4.2 Model linier tercampur . . . 214

5.4.3 Model linier tergeneralisasi . . . 217

5.4.4 Model linier campuran tergeneralisasi . . . 219

5.5 Pengembangan Lain Model Linier . . . 221

5.6 Outline Buku . . . 224

5.7 Latihan Soal- soal. . . 225

6 MODEL LINIER KLASIK 226 6.1 Bentuk dan Asumsi . . . 229

6.2 Estimasi Parameter . . . 231

6.2.1 Estimasi dengan Metode Kuadrat Terkecil . . . 231

6.2.2 Estimasi dengan Metode Likelihood Maksimum . . . 235

6.3 Uji Inferensial dari βˆj . . . 238

6.3.1 Distribusi βˆj . . . 238

(6)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 6 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

6.3.3 Uji Hipotesis . . . 242

6.3.4 Koefisien DeterminasiR2 . . . 243

6.4 Penggunaan Matriks untuk Regresi Peubah Ganda . . . 251

6.4.1 Perluasan hasil untuk Regresi Peubah Ganda . . . 251

6.4.2 Pendekatan Matriks Metode Kuadrat Terkecil. . . 253

6.4.3 Pendekatan Matriks untuk Metode Kemungkinan Maksimum . 256 6.5 Interval Keyakinan µdan Prediksi Y . . . 260

6.6 Melaporkan Nilai Probabilitas p . . . 263

6.7 Model Linier dengan Variabel Kualitatif . . . 265

6.7.1 Variabel Boneka dengan Model Berkonstanta . . . 266

6.7.2 Variabel Boneka dengan Konstanta tidak Eksplisit. . . 268

6.8 Ilustrasi Model Linier Normal dengan R . . . 273

6.8.1 Simulasi dengan R. . . 273

6.8.2 Menggunakan Fungsilm() . . . 277

6.8.3 Model dengan Variabel Kualitatif . . . 281

6.8.4 Analisis dengan Subset . . . 290

6.9 Ringkasan . . . 295

6.10 Bacaan Lebih Lanjut . . . 296

6.11 Latihan Soal- Soal . . . 297

II

Model-model Statistika Modern

299

7 MODEL LINIER TERAMPAT 300 7.1 Konsep Dasar Model Linier Trampat/Tergeneralisir . . . 305

(7)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 7 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

7.1.2 Generalisasi Model Linier Klasik ke Model Linier Terampat/

Tergeneralisir . . . 306

7.2 Estimasi pada Model Linier Tergeneralisir . . . 310

7.2.1 Metode Penduga Kuadrat Terkecil . . . 312

7.2.2 Metode Penduga Likelihood Maksimum . . . 314

7.3 Inferensi pada Model Linier Tergeneralisir . . . 321

7.3.1 Distribusi dari Penduga Likelihood Maksimum . . . 322

7.3.2 Kecocokan Model . . . 325

7.4 Model Logit, Probit dan Log-linier . . . 328

7.5 Dispersi Berlebih. . . 331

7.6 Ilustrasi GLM dengan R . . . 332

7.6.1 Data dengan Sebaran Binomial . . . 334

7.6.2 Prediksi pada GLM . . . 343

7.7 Ringkasan . . . 346

7.8 Bacaan Lebih Lanjut . . . 347

7.9 Latihan Soal-soal . . . 348

8 MODEL DENGAN MULTI RESPON 349 8.1 Model Marjinal . . . 354

8.2 Quasi-Likelihood dan Generalized Estimating Equations(GEE) . . . 357

8.3 Generalisasi dan Bentuk GEE . . . 359

8.4 Perluasan untuk GEE Orde 2 . . . 363

8.5 Ilustrasi GEE dengan R . . . 364

8.6 Gamma-HGLM dan Model Lainnya . . . 371

8.6.1 Gamma-HGLMs . . . 371

(8)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 8 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

8.6.3 Estimasi Parameterβ dan v . . . 376

8.6.4 Pendugaan parameter dispersiν danα . . . 382

8.6.5 Analisis HGLM dengan R . . . 384

8.7 Ringkasan . . . 389

8.8 Bacaan Lebih Lanjut . . . 390

8.9 Latihan Soal-soal . . . 391

9 MODEL ADITIF TERAMPAT 392 9.1 Data dengan Hubungan Tidak Linier . . . 396

9.1.1 Data dengan Hubungan Tidak Linier Sederhana/ Parametrik . 396 9.1.2 Data dengan Hubungan nonlinier tidak sederhana . . . 396

9.2 Model Statistika Aditif Terampat . . . 402

9.2.1 Bentuk Umum dan Asumsi . . . 402

9.2.2 Penghalus lokal . . . 404

9.3 Pengepasan GAM . . . 407

9.4 Perluasan GAM ke GAMLSS . . . 410

9.5 GAM dan GAMLSS dengan R . . . 413

9.5.1 Model semiparametrik dengangam(). . . 414

9.5.2 Model parametrik dengangam() danbs() . . . 417

9.5.3 Model penghalusan parametrik dengangamlss() . . . 419

9.6 Bacaan Lebih Lanjut . . . 425

10 PENGANTAR MODEL PERSAMAAN STRUKTURAL (Dalam Proses KON-STRUKSI) 426 10.1 Latar belakang dan Motivasi . . . 429

(9)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 9 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

10.2.1 Variabel Laten dan Variabel Indikator . . . 434

10.2.2 Notasi dan Terminologi . . . 435

10.3 Jenis dan Pendekatan Analisis SEM . . . 436

10.4 Diagram Jalur . . . 442

10.5 Model Matematika SEM . . . 444

10.6 Analisis SEM pada R . . . 445

10.7 Kelemahan CB-SEM dan SEM Alternatif . . . 450

10.8 Rangkuman . . . 452

10.9 Bacaan Lebih Lanjut . . . 454

Glosarium 455 A DATA UNTUK ILUSTRASI 469 A.1 Dari Paket base . . . 470

A.2 Dari Paket car . . . 473

(10)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 10 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Daftar Gambar

1.1 Menulis Skrip dengan Tinn-R . . . 19

1.2 Lay Out Multi Grafik . . . 26

1.3 Contoh Histogram dengan Kurva Densitas . . . 39

1.4 Contoh Diagram Pencar dengan rug dan boxplot . . . 40

1.5 Contoh Gabungan Grafik Besar dengan Grafik Mini . . . 41

1.6 Contoh Gabungan Grafik dengan Pembagian Layar . . . 42

1.7 Contoh Gabungan Grafik dengan pembagian layar . . . 43

1.8 Contoh Histogram dengan Kurva Densitas . . . 54

1.9 Contoh Diagram Pencar dengan rug dan boxplot . . . 55

1.10 Contoh Gabungan Grafik Besar dengan Grafik Mini . . . 56

1.11 Contoh Gabungan Grafik dengan Pembagian Layar . . . 57

1.12 Contoh Gabungan Grafik dengan pembagian layar . . . 58

1.13 Ilustrasi Simulasi Mean Populasi dan Sata-rata sampel . . . 68

1.14 Contoh Grafik Fungsi Parametrik Dimensi dua . . . 69

(11)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 11 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

2.1 Ilustrasi fungsi dan penambahan konstanta . . . 125

2.2 Ilustrasi fungsi dan perkalian suatu konstanta . . . 126

2.3 Ilustrasi bentuk dan skala distribusi gamma . . . 127

2.4 Ilustrasi bentuk dan skala distribusi χ2 . . . 135

2.5 Ilustrasi bentuk dan skala distribusi ekspoensial . . . 136

2.6 Plot Densitas dari sampel dengan berbagai nilai-tengah dengan uku-ran sampel 100 . . . 152

2.7 Sebaran Data dengan ukuran sampel 100 dengan distribusi Normal (b) dan Gamma (r) . . . 153

3.1 Ilustrasi distribusi tdengan berbagai derajat kebebasan . . . 172

3.2 Ilustrasi distribusi tdan normal baku . . . 172

3.3 Ilustrasi transformasi fungsi peubah acak . . . 177

5.1 Ilustrasi Regresi 1 . . . 222

5.2 Ilustrasi Regresi 2 . . . 223

6.1 Ilustrasi Garis regresi dan sabuk keyakinan . . . 262

6.2 Sebaran data dengan variabel kualitatif . . . 270

6.3 Garis Regresi sejajar dengan selisih konstantaβ2 dan gradien sama (β1) . . . 271

6.4 Garis Regresi berbeda dengan selisih konstanta β2 dan selisih gra-dien β3 . . . 272

(12)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 12 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

6.6 Grafik Penduga ˆβ1 = ˆα dari beberapa penarikan sampel dengan

ukuran mulai 10 sampai dengan 1000. Nilai parameter sebenarnya

adalah α= 3. . . 278

6.7 Contoh Histogram dengan Kurva Densitas Data Cars. . . 292

6.8 Diagram Pencar X dengan Y yang mengandung kelompok yang da-pat digabung . . . 293

6.9 Diagram Pencar X dengan Y mengandung kelompok yang perlu dipisah . . . 294

7.1 Respon dengan Fungsi Hubungan Logit dan Probit . . . 309

7.2 Diagram Pencar Prediksi dan Data Asli Peluang Keberhasilan Berba-gai Kelompok . . . 345

9.1 Ilustrasi data dengan hubungan kuadratik . . . 397

9.2 Ilustrasi data dengan hubungan kubik . . . 398

9.3 Ilustrasi data dengan hubungan log . . . 399

9.4 Ilustrasi data dengan hubungan eksponensial . . . 400

9.5 Ilustrasi data dengan hubungan nonlinier . . . 401

9.6 Ilustrasi pengepasan berlebih . . . 409

9.7 Grafik Pemeriksaan Peubah Penghalus . . . 424

10.1 Hubungan Variabel pada Regresi . . . 432

10.2 Hubungan Variabel diluar Analisis Regresi. . . 433

10.3 Contoh model CFA . . . 439

10.4 Contoh model hybrid . . . 440

10.5 Contoh model hybrid . . . 441

(13)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 13 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Daftar Tabel

1.1 Daftar Operasi Vektor dan Matriks . . . 34

1.2 Fungsi Dasar Statistika . . . 35

1.3 Fungsi Pembangkit Data . . . 36

1.4 Fungsi R untuk Grafik . . . 37

1.5 Fungsi dan paket untuk menggambar grafik R . . . 38

1.6 Aneka Rupa Fungsi R . . . 44

1.7 Fungsi dan paket untuk menggambar grafik R . . . 53

2.1 Rangkuman Distribusi Anggota Keluarga Eksponensial . . . 151

2.2 Ciri-ciri khas Distribusi Keluarga Eksponensial . . . 151

5.1 Tabel jumlah (kg) salak dan anggur dan harga yang dibayar . . . . 196

6.1 Alternatif Penulisan Model dalam Formula R . . . 286

7.1 Jumlah Sukses(S) dan Gagal dalam Berbagai Kelompok Faktor . . 330

(14)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 14 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

7.3 Jumlah Kelulusan dalam Berbagai Kelompok Perlakuan . . . 336

7.4 Format Data R Jumlah Kelulusan dan Kegagalan . . . 337

8.1 Respon Pengukuran berulang . . . 356

8.2 Paket dan Fungsi R terkait GEE dan HGLM . . . 365

9.1 Sebaran diluar Keluarga Eksponensial yang dicakup GAMLSS . . 411

9.2 Paket dan Fungsi R terkait GAM . . . 423

(15)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 15 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Bab 1

DASAR-DASAR PEMROGRAMAN R

Setelah membaca materi pada bab ini pembaca menguasai kemampuan yang ditandai oleh indikator seperti berikut:

❼ dapat membuat program sederhana dengan R;

❼ dapat memanfaatkan kemampuan analisis R melalui skrip;

(16)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 16 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.1.

Tampilan R-Console

Dengan menggunakan RCLI diperoleh bentuk tampilan R-Console yang sama, baik dengan menggunakan sistem operasi Windows maupun Linux. Bentuk tampilan layarR consoleuntuk R versi 2.15.0 adalah seperti berikut ini.

R version 2.15.0 (2012-03-30)

Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0

Platform: i386-pc-mingw32/i386 (32-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions.

Type ✬license()✬ or ✬licence()✬ for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors.

Type ✬contributors()✬ for more information and

✬citation()✬ on how to cite R or R packages in publications.

Type ✬demo()✬ for some demos, ✬help()✬ for on-line help, or

✬help.start()✬ for an HTML browser interface to help.

(17)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 17 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Dengan adanya RGUI Tinn-R, seperti telah dibahas sebelumnya, maka penulisan dan eksekusi skrip dapat lebih mudah dilakukan melalui Jendela Command SciViews. Beberapa keuntungan menggunakan Tinn-R adalah: telah dilengkapi panel penting seperti buka skrip, simpan skrip, dan eksekusi skrip; dapat memeriksa kecocokan pasangan tanda kurung (), dan {}; dapat memberi arahan dalam memanggil fungsi yang telah didefinisikan; dapat mengeksekusi skrip per baris atau secara keseluruhan; tampilan memberikan warna berbeda (script highlighting) untuk notasi tertentu dan antara skrip dengan komentar.

Semua kemampuan diatas sangat membantu baik dalam mengedit maupun dalam mengeksekusi skrip (Lihat Gambar 1.1), halaman 19.

R termasuk pemrograman berorentasi objek. Semua hal yang dikerjakan dalam R dapat disimpan dalam bentuk objek dengan mendefinisikannya. Definisi dalam R menggunakan notasi <-. Perhatikan bahwa notasi garis bawah (under score) ” ” yang biasa dipakai pada S-Plus bermakna lain

pada R. Namun, seperti halnya S-Plus, R sangat peka terhadap huruf besar/ kecil (case sensitive).

NamaObjek<-definisi

(18)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 18 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

>x<-2^3 >X<-3^2 >x [1] 8 >X [1] 9

(19)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 19 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

(20)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 20 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.2.

Beberapa Fungsi Penting dalam R

R telah dilengkapi dengan banyak fungsi yang dapat dimanfaatkan untuk penulisan skrip program. Selain fungsi-fungsi yang terdapat dalam paket standar, banyak fungsi yang didefinisikan dalam berbagai pustaka R.

1.2.1.

Operasi Vektor dan Matriks

Untuk matriks atau vektor yang berdimensi sama maka opersi hitung bi-asa dapat dilakukan dan itu akan dikerjakan berdbi-asarkan unsur-unsur yang bersesuaian seperti pada contoh diatas. Khusus untuk opersi vektor dan ma-triks, R memiliki operasi dasar seperti yang ditunjukkan dalam Tabel 1.1

pada halaman 34.

Contoh 1.2. Misalkan kita memiliki dua vektor, yaitu X=

  

4 5 3 6

  

dan Y =

  

2 4 3 6

  

, maka hasil berbagai operasi hitung biasa di antara kedua vektor ini

(21)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 21 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

> x<-matrix(c(4,5,3,6),4,1) > y<-matrix(c(2,4,3,6),4,1) > x*y

[,1]

[1,] 8

[2,] 20

[3,] 9

[4,] 36

> x/y [,1] [1,] 2.00 [2,] 1.25 [3,] 1.00 [4,] 1.00

> sum(log(x)) [1] 5.886104 > prod(log(x)) [1] 4.39191

(22)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 22 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

> x%*%t(y)

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

[1,] 8 16 12 24

[2,] 10 20 15 30

[3,] 6 12 9 18

[4,] 12 24 18 36

> t(x)%*%y [,1]

[1,] 73

>solve(t(x)%*%y) [,1] [1,] 0.01369863

> x[2] [1] 5

1.2.2.

Fungsi Dasar Statistika

(23)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 23 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Contoh 1.3. Misalkan dua vektor X,Y seperti pada contoh sebelumnya. Jika masing-masing vektor diperlakukan sebagai data, maka hasil terhadap beberapa fungsi statistika tadi adalah:

> min(x) [1] 3

> max(y) [1] 6 > mean(x) [1] 4.5

> var(y) [,1] [1,] 2.916667

> cor(x,y) [,1] [1,] 0.8315218

> range(x) [1] 3 6

(24)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 24 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

[1] 2 6

> sample(0:1,30,replace=T) # simulasi Tos Uang logam

[1] 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 0 1

> sample(c("A","G"),15,replace=T)

[1] "G" "G" "A" "A" "G" "G" "A" "A" "G" "G" "G" "A" "A" "G" "G"

> sample(1:6,30,replace=T) # Simulasi Tos Dadu

[1] 6 3 2 6 4 1 1 4 2 3 6 5 3 4 3 4 2 3 1 4 1 5 3 5 1 5 1 6 4 1

rangememberikan informasi minimum dan maksimum secara serempak.

1.2.3.

Fungsi Pembangkit Data Peubah Acak

Disamping fungsi dasar yang telah dibicarakan, R juga memiliki fungsi-fungsi statistika lainnya yang banyak dipergunakan dalam simulasi data. Fungsi-fungsi ini adalah Fungsi-fungsi untuk membangkitkan data dari peubah acak dengan berbagai distribusi yang banyak dijumpai seperti normal, poisson dan gamma dengan jumlah/ ukuran sampel n. Pada dasarnya ada empat jenis fungsi terkait dengan distribusi peubah acak yaitu:

(25)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 25 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

ddistribusi untuk mencari nilai fungsi kepadatan f(x) pada suatu nilai x

tertentu.

pdistribusi untuk mencari luas daerah (nilai peluang) suatu distribusi yang dibatasi oleh nilai xtertentu

qdistribusi untuk mencari nilai x yang membatasi luas daerah (nilai pelu-ang) tertentu dari suatu distribusi

distribusiadalah nama-nama distribusi yang tersedia pada R di antaranya

beberapa yang penting yang banyak dipakai adalah norm (normal), gamma

(Gamma),t(t),F(F),chisq(χ2

),pois(Poisson,binom(Binomial). Sebagian daftar fungsi- fungsi ini dapat dilihat pada Tabel 1.3 pada halaman 36.

Contoh 1.4. Misalkan kita ingin mensimulasi data dari distribusi normal dengan parameter populasinya µ = 50 dan σ = 5. Kita dapat menghitung mean maupun variansi sampel dari data yang dibangkitkan untuk melihat kedekatannya dengan µdan σ2

>mean(rnorm(100,50,5)) [1] 50.19985

(26)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 26 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.2.4.

Fungsi untuk Menangani Grafik

Untuk menangani grafik, R memiliki beberapa fungsi seperti ditunjukkan pada Tabel1.4 pada halaman 37. Dokumentasi yang lebih lengkap dapat diperoleh dengan menggunakan perintah help(...). Di antara fungsi ini adalah untuk membuat lay out lembaran grafik yang dibagi menjadi matriks sub-lembaran kecil (a×b). Masing-masing sublembaran dapat memiliki judul dan absis sendiri (lihat Gambar 1.2).

Gambar 1.2: Lay Out Multi Grafik

(27)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 27 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

grafik ini diatur sehingga yang biasa diberi label sumbu adalah semua sumbu bawah, sumbu paling kiri, sumbu atas, dan sumbu paling kanan. Maka perintahnya adalah seperti berikut dan hasil grafiknya dapat dilihat pada Gambar 1.2.

par(mfrow=c(2,3))

plot(1,1,xlim=c(0,4),ylim=c(1,3),) text(2,2,"Gambar 1.1")

plot(1,2,xlim=c(0,4),ylim=c(1,3)) text(2,2,"Gambar 1.2")

plot(1,3,xlim=c(0,4),ylim=c(1,3)) text(2,2,"Gambar 1.3")

plot(2,1,xlim=c(0,4),ylim=c(1,3)) text(2,2,"Gambar 2.1")

plot(2,2,xlim=c(0,4),ylim=c(1,3)) text(2,2,"Gambar 2.2")

plot(2,3,xlim=c(0,4),ylim=c(1,3)) text(2,2,"Gambar 2.3")

(28)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 28 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

memberikan visualisasi model (diagram pencar data yang dilengkapi garis regresi, khususnya untuk dua dimensi). Tabel1.7memuat beberapa paket dan fungsi yang terkait dengan penyajian grafik dalam analisis regresi.

Visualisai tentang sebaran data baik terkait sebaran univariat, maupun pen-caran bivariat dapat disajikan dalam berbagai cara (layout), misalnya menyisip-kan grafik kecil dalam grafik besar, atau membagi lay out layar. Informasi lebih lengkap dapat dilihat pada Tirta [59] atau Burns [4]. Berikut adalah beberapa contoh penyajian grafik terkait regresi.

1. Histogram dilengkapi dengan kurva densitas (baik teoritis maupun emperik). Grafik ini memberikan gambaran secara intuitif kesesuaian sebaran data dengan sebaran teoritis yang menjadi asumsi (skrip berikut hasilnya terlihat pada Gambar1.8).

hist(x,freq=FALSE,ylim=c(0,0.45),

main="HISTOGRAM DENGAN KURVA DENSITAS") lines(density(x),lty=4) #densitas emperik

lines(sort(x),dnorm(sort(x)))#densitas teoritik

2. Diagram pencar dilengkapi dengan rugplot dan boxplot marjinal (untuk peubah penjelas dan peubah respon). Grafik ini memberikan gambaran se-cara intuitif kesesuaian sebaran data sese-cara univariate (skrip berikut hasil-nya terlihat pada Gambar1.9)

plot(x,y,xlab="X", ylab="Y",col="red",

(29)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 29 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

abline(lm(y~x),col="blue")

rug(side=1, jitter(x, 5),col="green" ) rug(side=2, jitter(y, 20),col="green" )

par(mar=c(1,2,5,1)) boxplot(y, axes=F)

par(mar=c(5,1,1,2))

boxplot(x, horizontal=T, axes=F)

3. Diagram pencar dilengkapi dengan histogram dan qqplot marjinal (untuk peubah penjelas dan peubah respon). Grafik ini memberikan gambaran secara intuitif kesesuaian sebaran data secara univariate. Grafk dapat dis-ajikan dengan menyisipkan histogram dan qqplot di dalam diagram pencar (lihat Gambar 1.10) atau dengan mengatur lay out tampilan grafik seperti Gambar 1.11dan Gambar 1.12. Berikut adalah skrip untuk Layout c(1,2)-c(2,1), untuk Gambar 1.11, yaitu pertama layar dibagi atas 1 baris dan 2 kolom, selanjutnya layar kolom kedua dibagi menjadi 2 baris 1 kolom.

split.screen(c(1,2))

split.screen(c(2,1), screen = 2) screen(1)

plot(x,y,main="Diagram Pencar (X,Y)") abline(lm(y~x))

screen(3)

(30)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 30 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

main="Histogram Y")

lines(density(y), col="red", lwd=2) screen(4)

qq.plot(x,main="QQ.norm X")

Skrip berikut adalah untukLayout c(2,1)-c(1,2), untuk Gambar 1.12, yaitu pertama layar dibagi atas 2 baris dan 1 kolom, selanjutnya layar baris kedua dibagi menjadi 1 baris 2 kolom.

split.screen(c(2,1))

split.screen(c(1,2), screen = 2) screen(1)

plot(x,y,main="Diagram Pencar (X,Y)") abline(lm(y~x))

screen(3)

hist(y, probability=T, main="Histogram Y")

lines(density(y), col="red", lwd=2) screen(4)

qq.plot(x,main="QQ.norm X")

1.2.5.

Perintah Penanganan Berkas R

(31)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 31 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

dan variabel, di antaranya adalah seperti yang ada pada Tabel 1.6 pada halaman 44.

Contoh 1.6. Misalkan kita ingin mencetak keluaran yang sekaligus memuat komentar atau nama beserta nilainya, seperti “Untukx= 2 dan y= 3 maka hasil kali x dengan y adalah 6. Skrip untuk program ini adalah sebagai berikut.

x<-2 y<-3

cat("Hasil kali x dengan y adalah",x*y)

Contoh 1.7. Untuk menjalankan contoh yang ada pada fungsilinear model

lm() maka perintahnya adalah

example(lm)

dan sebagian hasil keluaran yang terjadi adalah:

> example(lm)

(32)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 32 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

lm> trt <- c(4.81, 4.17, 4.41, 3.59, 5.87, 3.83, 6.03, 4.89, 4.32, 4.69)

lm> group <- gl(2, 10, 20, labels = c("Ctl", "Trt"))

lm> weight <- c(ctl, trt)

lm> anova(lm.D9 <- lm(weight ~ group)) Analysis of Variance Table

Response: weight

Df Sum Sq Mean Sq F value Pr(>F)

group 1 0.6882 0.6882 1.4191 0.249

Residuals 18 8.7293 0.4850

lm> summary(lm.D90 <- lm(weight ~ group - 1))

Call:

lm(formula = weight ~ group - 1)

Residuals:

Min 1Q Median 3Q Max

-1.0710 -0.4938 0.0685 0.2462 1.3690

Coefficients:

(33)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 33 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

groupCtl 5.0320 0.2202 22.85 9.55e-15 ***

groupTrt 4.6610 0.2202 21.16 3.62e-14 ***

---Signif. codes: 0 ❵***✬ 0.001 ❵**✬ 0.01 ❵*✬ 0.05 ❵.✬ 0.1 ❵ ✬ 1

Residual standard error: 0.6964 on 18 degrees of freedom

Multiple R-Squared: 0.9818, Adjusted R-squared: 0.9798

(34)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 34 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.1: Daftar Operasi Vektor dan Matriks dalam R. Operasi lanjut yang

lebih spesifik dapat dilihat pada pustakamatrix

No Nama Fungsi/

Operasi

Notasi Matem-atika

Fungsi R

1 pembentukan

ma-triks

x matrix(data, nbaris, nkolom);

2 pembentukan

barisan

seq(awal, akhir, kenaikan); seq(awal, akhir, length=n)

3 barisan berpola rep((el.),replik) atau

rep((elemen),each=n)

4 transpose matriks xT t(x)

5 determinan

ma-triks

det(x) det(x)

6 matriks diagonal D diag(data)

7 diagonal matriks diag(matriks)

8 teras (trace) ma-triks

tr(matriks)

9 perkalian matriks xy x %*% y

10 inverse matriks x−1

(35)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 35 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.2: Fungsi Dasar Statistika pada R

No Nama Fungsi Notasi Statistika Fungsi dalam R

1 minimum.

maxi-mum

min, max min(), max()

2 range range range()

3 mean, median, x¯,median mean(), median()

4 variance S2

var()

5 correlation ρxy cor(x,y)

6 ringkasan data summary()

7 contoh/ sampling

data

(36)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 36 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.3: Fungsi Pembangkit Data pada R. Selain fungsi membangkitkan

data acak juga terdapat fungsi-fungsi menghitung peluang dis-tribusi.

No Nama Distribusi Parameter Perintah dalam R

1 Poison(λ) µ=σ2

=λ rpois(n,lamda); dpois(x,

lambda); ppois(x, lambda); qpois(p, lambda)

2 Binomial (s, π)

µ=sπ σ2 =sπ(1π)

rbinom(n, s, pi); dbinom(x, s, pi); pbinom(x, s, pi); qbinom(p, s, pi)

3 Normal N(µ, σ2

) mean=µ, varians=σ2

rnorm(n, mean, sigma); dnorm(x, mean, sigma); pnorm(x, mean, sigma); qnorm(p, mean, sigma)

4 Gamma G(α, β)

µ=α/β σ2=α/β2

rgamma(n, alpha,beta); dgamma(x, alpha, beta); pgamma(x, alpha,beta); qgamma(p, alpha, beta)

5 Chi-kuadrat

χ2(r) µ=r;

(37)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 37 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.4: Beberapa Fungsi Dasar R untuk Grafik. Tersedia fungsi baik

untuk dua maupun tiga dimensi.

No Tujuan Perintah R Keterangan

1 membuat multigrafik

(banyak layar)

par(mfrow=c(b, k)) b=banyak baris k=banyak

kolom

2 membuat diagram

(grafik pencaran= p, dan garis =l)

plot(x,y,

type=’l/p/b’, xlab="", ylab="", lty=0,

ylim=c(,))

l=line(grafik garis)

p=point(grafik titik)

b=keduanya

3 menambah garis pada

grafik yang sudah ada

lines(x, y, lty=, pch= ’numerik’)

angka numerik menunjukkan jenis garis

4 menambah titik pada

grafik yang sudah ada

points(x, y,

pch=’numerik/simbol’)

numerik/simbol menunjukkan jenis titik

5 memunculkan sumbu axis(1,outer=T,las=1) Nomor aksis 1=bawah 2=kiri,

3=atas, 4=kanan.

6 menambah text text(x,y,"teks")

7 membuat grafik tiga di-mensi

persp(x,y,z) Data dalam bentuk matriks

contour(x,y,z)

8 membuat garis lurus abline(a,b) untuk y=a+bx

abline(lm(y x)) dari estimasi regresi

9 memberi judul grafik

dan sumbu

main=’judul

grafik’,xlab=’sumbu x’, ylab=’sumbu y’

(38)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 38 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.5: Fungsi dan paket untuk menggambar grafik R

Fungsi Paket Penggunaan

barplot() graphics menggambar grafik batang

hist() graphics menggambar histogram

boxplot() graphics menggambar boxplot

plot() graphics menggambar grafik X-Y

pairs() graphics menggambar Matriks

Dia-gram Pencar

abline() graphics menggambar garis lurus

yang diketahui konstanta dan gradiennya

contour() graphics menggambar kontur

persp() graphics menggambar boxplot

rug() graphics menggambar sebaran data

pada sumbu

qq.plot() car menggambar plot

per-bandingan kuantil

reg.line() car menggambar garis regresi

scatterplot(), sp()

car menggambar diagram pen-car data

spm(),

scatterplot.matrix(),

(39)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 39 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar HISTOGRAM DENGAN KURVA DENSITAS

x

Density

−3 −2 −1 0 1 2

0.0

0.1

0.2

0.3

0.4

(40)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 40 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

DIAGRAM PENCAR DENGAN RUG & BOXPLOT

(41)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 41 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

DIAGRAM BESAR DENGAN GRAFIK MINI

x

norm quantiles

x

(42)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 42 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Density

120 140 160 180

0.000

QQ.norm X

norm quantiles

x

(43)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 43 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Density

120 140 160 180

0.000

QQ.norm X

norm quantiles

x

(44)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 44 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.6: Aneka Rupa Fungsi R. Fungsi-fungsi ini bermanfaat untuk

menangani file baik skrip maupun keluaran

No Tujuan Perintah R

1 membaca tanpa membuka file source("namafile")

2 mengarahkan penulisan hasil ke file sink("nama file")

3 mencetak hasil (variabel) print(variabel)

4 mencetak text cat("teks")

5 mencetak garis baru cat("\n")

6 mendefinisikan variabel, konstanta atau fungsi (berfungsi sebagai ”=” dalam matem-atika)

nama <- definisi

7 membaca tabel read.table("namatabel")

8 mengambil bagian dari kesatuan(objek) objek\$bagian

(45)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 45 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.3.

Memanfaatkan Pustaka

1.3.1.

Mencari Informasi Pustaka

Hal pertama yang terpenting dapat dilakukan dalam menggunakan program R adalah mendapatkan informasi tentang fasilitas yang disediakan R. Dari tampilan sebelumnya dapat diketahui bahwa jika kita ingin mengetahui be-berapa kemampuan dan fasilitas R dapat dilakukan dengan menggunakan salah satu alternatif berikut:

help() untuk mengetahui dokumentasi bantuan secara umum. Selanjutnya

kita dapat memilih topik yang tersedia dan lebih mengkhususkan pen-carian kita pada topik tersebut dengan menggunakan help(topik).

help.start(). Untuk mengaktifkan dokumentasi dalam format html yang

lebih interaktif. Pengguna selanjutnya dapat memilih topik yang terse-dia seperti layaknya mencari informasi di internet.

help.search("kata kunci"). Jika kita ingin mendapat informasi dari

su-atu topik tertentu dapat juga kita masukkan susu-atu kata kunci melalui

help.search().

Misalkan kita ingin mencari informasi tentang analisis regresi, maka kata kunci yang mungkin bisa dimasukkan di antaranya adalah

regression atau linear model. kata kunci ini selanjutnya dimasukkan

(46)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 46 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

>help.search("regression")

Sebagian dari hasil penelusuran adalah sebagai berikut ini (tampilan aslinya jauh lebih banyak dari apa yang ditampilkan di sini). Hasil penelusuran tersebut menunjukkan bahwa ada berbagai fungsi yang dapat dipergunakan untuk men-ganalisis data dengan metode regresi sesuai dengan spesifikasi data yang dimiliki.

Help files with alias or concept or title matching ✬regression✬

using fuzzy matching:

nnr(assist) Nonlinear Non-parametric Regression

predict.snr(assist) Predict Method from a Semiparametric

Nonlinear Regression Model Fit

snr(assist) Fit A Semi-parametric Nonlinear Regression

Model

ssr(assist) Fit a General Smoothing Spline Regression

Model

aws(aws) Local polynomial Adaptive Weights Smoothing

for regression with additive errors

awsh(aws) Univariate local polynomial Adaptive Weights

Smoothing for regression with heteroscedastic additive errors

breg(bayesm) Posterior Draws from a Univariate Regression

with Unit Error Variance

betareg(betareg) Fitting beta regression models

(47)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 47 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

spm(SemiPar) Fit a SemiParametric regression Model

ridge(survival) Ridge regression

survreg(survival) Regression for a Parametric Survival Model

tree(tree) Fit a Classification or Regression Tree

zicensor(zicounts) Fitting classical and zero-inflated count

regression models

1.3.2.

Memanggil Pustaka

Apablia kita telah mengetahui cara pemanfaatan suatu pustaka maka kita dapat meniru untuk dipergunakan dalam analisis data riil yang kita miliki. Misalkan dari

data Orange dengan variabel Tree, age dan circunference, kita dapat melakukan

analsis gam yang paling sederhana seperti berikut.

library(gee) example(gee)

Dengan pilihan distribusi = Gamma dan fungsi link log diperoleh hasil

gee> data(warpbreaks)

gee> summary(gee(breaks ~ tension, id = wool, data = warpbreaks, corstr = "exchangeable"))

[1] "Beginning Cgee S-function, @(#) geeformula.q 4.13 98/01/27" [1] "running glm to get initial regression estimate"

(48)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 48 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

GEE: GENERALIZED LINEAR MODELS FOR DEPENDENT DATA

gee S-function, version 4.13 modified 98/01/27 (1998)

Model:

Link: Identity

Variance to Mean Relation: Gaussian

Correlation Structure: Exchangeable

Call:

gee(formula = breaks ~ tension, id = wool, data = warpbreaks, corstr = "exchangeable")

Summary of Residuals:

Min 1Q Median 3Q Max

-22.388889 -8.138889 -2.666667 6.333333 33.611111

Coefficients:

Estimate Naive S.E. Naive z Robust S.E. Robust z

(Intercept) 36.38889 3.069434 11.855246 5.774705 6.301428

tensionM -10.00000 3.910008 -2.557539 7.463905 -1.339781

tensionH -14.72222 3.910008 -3.765266 3.731952 -3.944912

Estimated Scale Parameter: 141.1481

(49)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 49 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.3.3.

Aplikasi R untuk Manipulasi Grafik

Selain analisis statistik secara numerik, analisis regresi juga perlu dilengkapi dengan visualisasi data melalui grafik. Visualisasi grafik selain bermanfaat untuk mendapatkan gambaran tentang kondisi data terkait dengan asumsi-asumsi sebaran (histogram, QQPlot, Boxplot, diagram pencar sisa), juga bermanfaat dalam memberikan visualisasi model (diagram pencar data yang dilengkapi garis regresi, khususnya untuk dua dimensi). Tabel 1.7 memuat beberapa paket dan fungsi yang terkait dengan penyajian grafik dalam anal-isis regresi.

Visualisai tentang sebaran data baik terkait sebaran univariat, maupun pencaran bivariat dapat disajikan dalam berbagai cara (layout), misalnya menyisipkan grafik kecil dalam grafik besar, atau membagi lay out layar. Informasi lebih lengkap dapat dilihat pada Tirta [59] atau Burns [4]. Berikut adalah beberapa contoh penyajian grafik terkait regresi.

1. Histogram dilengkapi dengan kurva densitas (baik teoritis maupun em-perik). Grafik ini memberikan gambaran secara intuitif kesesuaian se-baran data dengan sese-baran teoritis yang menjadi asumsi (skrip berikut hasilnya terlihat pada Gambar 1.8).

(50)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 50 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

main="HISTOGRAM DENGAN KURVA DENSITAS") lines(density(x),lty=4) #densitas emperik

lines(sort(x),dnorm(sort(x)))#densitas teoritik

2. Diagram pencar dilengkapi dengan rugplot dan boxplot marjinal (untuk peubah penjelas dan peubah respon). Grafik ini memberikan gambaran secara intuitif kesesuaian sebaran data secara univariate (skrip berikut hasilnya terlihat pada Gambar 1.9)

plot(x,y,xlab="X", ylab="Y",col="red",

main="DIAGRAM PENCAR DENGAN RUG & BOXPLOT") abline(lm(y~x),col="blue")

rug(side=1, jitter(x, 5),col="green" ) rug(side=2, jitter(y, 20),col="green" )

par(mar=c(1,2,5,1)) boxplot(y, axes=F)

par(mar=c(5,1,1,2))

boxplot(x, horizontal=T, axes=F)

(51)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 51 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

(lihat Gambar 1.10) atau dengan mengatur lay out tampilan grafik seperti Gambar 1.11 dan Gambar 1.12. Berikut adalah skrip untuk Layout c(1,2)-c(2,1), untuk Gambar 1.11, yaitu pertama layar dibagi atas 1 baris dan 2 kolom, selanjutnya layar kolom kedua dibagi menjadi 2 baris 1 kolom.

split.screen(c(1,2))

split.screen(c(2,1), screen = 2) screen(1)

plot(x,y,main="Diagram Pencar (X,Y)") abline(lm(y~x))

screen(3)

hist(y, probability=T, main="Histogram Y")

lines(density(y), col="red", lwd=2) screen(4)

qq.plot(x,main="QQ.norm X")

Skrip berikut adalah untukLayout c(2,1)-c(1,2), untuk Gambar 1.12, yaitu pertama layar dibagi atas 2 baris dan 1 kolom, selanjutnya layar baris kedua dibagi menjadi 1 baris 2 kolom.

split.screen(c(2,1))

split.screen(c(1,2), screen = 2) screen(1)

(52)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 52 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

screen(3)

hist(y, probability=T, main="Histogram Y")

lines(density(y), col="red", lwd=2) screen(4)

(53)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 53 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar Tabel 1.7: Fungsi dan paket untuk menggambar grafik R

Fungsi Paket Penggunaan

barplot() graphics menggambar grafik batang

hist() graphics menggambar histogram

boxplot() graphics menggambar boxplot

plot() graphics menggambar grafik X-Y

pairs() graphics menggambar Matriks Diagram Pencar

abline() graphics menggambar garis lurus yang diketahui

konstanta dan gradiennya

contour() graphics menggambar kontur

persp() graphics menggambar boxplot

rug() graphics menggambar sebaran data pada sumbu

qq.plot() car menggambar plot perbandingan kuantil

reg.line() car menggambar garis regresi

scatterplot(), sp() car menggambar diagram pencar data

spm(),

scatterplot.matrix(),

(54)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 54 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar HISTOGRAM DENGAN KURVA DENSITAS

x

Density

−3 −2 −1 0 1 2

0.0

0.1

0.2

0.3

0.4

(55)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 55 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

DIAGRAM PENCAR DENGAN RUG & BOXPLOT

(56)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 56 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

DIAGRAM BESAR DENGAN GRAFIK MINI

x

norm quantiles

x

(57)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 57 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Frequency

120 140 160 180

0

QQ.norm X

norm quantiles

x

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Density

120 140 160 180

0.000

QQ.norm X

norm quantiles

x

(58)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 58 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Diagram Pencar (X,Y)

x

y

Histogram Y

y

Density

120 140 160 180

0.000

QQ.norm X

norm quantiles

x

(59)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 59 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.4.

Menulis Program pada R

Pada bagian ini akan dibahas secara lebih detail cara- cara mendefinisikan fungsi, maupun membuat skrip program.

1.4.1.

Komponen-Komponen Program

Program adalah sekumpulan perintah yang menjadi suatu kesatuan yang harus dikerjakan oleh komputer. Program biasanya ditulis untuk menger-jakan pekerjaan sejenis untuk keperluan jangka panjang dan bisa diman-faatkan oleh orang lain yang tidak terlibat dalam pembuatan program terse-but. Oleh karena itu penulisan program ini harus memenuhi beberapa per-syaratan. Naskah dari suatu pemrograman biasa disebut listing atau script

dari program tersebut. Komponen- komponen pemrograman yang besar se-baiknya memuat hal-hal berikut.

1. Seting Umum. Bagian ini mengatur hal yang sangat mendasar dari komputer, seperti alokasi memori, jumlah digit dari luaran, nama file dan sebagainya. Dalam R, perintah ini biasanya dikerjakan dengan perintah options. Untuk jelasnya dapat dilihat dari dokumentasi per-intah options ini.

options(argumen1, argument2,...,...);

(60)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 60 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

❼ echo= T atau F, jika T berarti setiap ekspresi yang dieksekusi

atau dievaluasi akan ditulis dulu (echoed) sebelum dievaluasi.

❼ digits= angkayang menunjukkan banyaknya angka penting yang

akan dicetak di print out.

❼ object.size= 1e+08 atau lebih yang diperlukan untuk program

yang memerlukan memori besar (misalnya dalam simulasi).

2. Definisi fungsi. Apabila dalam program itu diperlukan fungsi yang didefinisikan sendiri, sebaiknya fungsi ini dikelompokkan dan didefin-isikan pada bagian awal;

fungsi1<-function(){} fungsi2<-function(){}

3. Data dan Inisiasi. Bagian berikut skrip biasanya berisi pengambi-lan data, baik yang dilakukan secara simulasi maupun dengan meng-gunakan data riil yang dimpor dari berbagai program yang tersedia. Data riil harus diaktifkan atau diset sebelum dianalisis.

Untuk data simulasi sebelum variabel dan konstanta bisa dipergunakan harus ditetapkan nilai- nilai awalnya. Nilai awal (inisiasi) dari variabel-variabel ini juga sebaiknya diberikan pada bagian tersendiri secara men-gelompok untuk memudahkan pemeriksaan atau perubahan.

(61)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 61 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

5. Penutup. Bagian penutup bisa berisi rangkuman dari hasil- hasil yang diperoleh dalam pemrograman tersebut. Biasanya bagian ini berisi perintah menyimpan file, mentabulasi hasil, atau membuat grafik.

Contoh 1.8. Contoh pemrograman yang lengkap beserta komponen-komponennya.

# namafile

options(echo=F,digits=4) #fungsi

f1<-function(p1,p2){ ekspresi1

ekspresi2 hasil akhir }

#inisiasi p1<-5

p2<-15 #Program utama #loop luar

for(i in 1:n){

while(kon1){ #loop dalam

tugas1 }

}

#Penutup Print(hasil.akhir)

(62)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 62 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.4.2.

Langkah- langkah Penting dalam Penulisan Program

Program yang baik adalah program yang memenuhi beberapa persyaratan di antaranya adalah seperti berikut ini.

1. Mengerjakan dengan benar apa yang mestinya dikerjakan. Untuk pro-gram yang dikonsumsi sendiri atau bagi pemula, syarat yang paling utama adalah program yang dibuat harus mengerjakan dan memberi hasil yang benar.

2. Alur logika dan matematikanya benar dan mudah diikuti. Untuk itu, sebelum menulis skrip suatu pemrograman dan yakinkan bahwa baik persamaan-persamaan maupun fungsi-fungsi matematika yang akan di-gunakan sudah benar/valid. Selain itu langkah yang lebih rinci berupa algoritma dari apa yang akan dikerjakan oleh komputer sudah siap se-belum memulai menulis skrip dan yakinkan bahwa algoritma ini sudah benar. Algoritma ini bisa juga dibuat secara lebih eksplisit berupa diagram alir (flow chart.)

3. Mudah direvisi. Apa yang akan dikerjakan komputer seharusnya da-pat dilacak dengan mudah sehingga kalau ada kesalahan juga mudah direvisi. Penelusuran atau revisi diharapkan tetap bisa dilakukan den-gan mudah, meskipun suatu skrip program baru dibuka lagi setelah beberapa minggu, bulan, atau tahun.

(63)

ter-UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 63 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

lalu penting bagi pemula, karena kecepatan dan penggunaan memori ini secara umum dapat teratasi dengan semakin canggihnya piranti keras komputer sekarang sehingga masalah ini tidak akan terlalu menjadi hambatan.

5. Mudah dimanfatkan. Syarat terakhir penting terutama kalau program yang dibuat juga disediakan bagi orang lain yang mungkin tidak banyak memahami pemrograman.

Serangkaian perintah atau fungsi-fungsi matematika yang sering diper-gunakan sebaiknya didefinisikan dalam bentuk fungsi R. Identifikasi fungsi-fungsi dan variabel yang akan diperlukan dan didefinisikan di bagian awal. Usahakan memanfaatkan sebanyak mungkin fungsi-fungsi internal yang su-dah ada dalam paket (dalam hal ini R). Ini penting agar penggunaan memori efisien mengingat selain karena sifatnya yang internal fungsi-fungsi ini telah teruji kemampuannya. Buatlah program dalam ukuran sedang dan program yang besar sebaiknya dipecah-pecah menjadi beberapa modul/ subprogram yang hanya dipanggil kalau diperlukan. Berilah komentar atau keterangan pada setiap fungsi yang didefinisikan, demikian juga pada setiap langkah penting. Hal ini akan membantu banyak dalam pemahaman dan proses per-baikan/revisi terutama jika program yang dibuat dibuka lagi setelah kurun waktu yang agak lama.

Khusus untuk R, sedapat mungkin hindarkan atau kurangi penggunaan

(64)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 64 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

digunakan perhitungan vektor dari pada loop. Karenanya, khususnya bagi pemrogram yang sudah berpengalaman, sedapat mungkin gunakan perhi-tungan secara vektor. Jika loop digunakan, pada tahap awal, gunakan kri-teria konvergensi yang agak kasar/besar, setelah program berfungsi dengan baik, kriteria konvergensi dapat diatur sesuai kebutuhan. Skrip loop selain dikelompokkan dengan menggunakan kurung kurawal, juga perlu di-indent

sesuai dengan tingkatnya. Berikut ini diberikan contoh program yang belum memerlukan adanya fungsi.

Contoh 1.9. Kita ingin mengilustrasikan hubungan antara mean populasi dengan rata- rata sampel berdasarkan ukuran sampelnya.

Untuk tujuan itu kita harus membuat loop pembangkitan data random untuk berbagai ukuran sampel, misalnya dari 10 sampai 100 dengan kenaikan 10. Untuk itu kita akan menempuh beberapa langkah berikut ini.

1. Mendefinisikan matriks yang terdiri atas 2 kolom dan 10 baris, untuk menampung mean sampel dari 10 macam ukuran sampel. Kolom per-tama bisa diisi ukuran sampel dan kolom kedua berisi besarnya mean masing- masing sampel. Sebagai inisiasi, kita bisa mendefinisikan selu-ruh elemen matriks sama dengan 0.

m<-matrix(0,10,2)

(65)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 65 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

(a) Dengan menggunakan indeks i = 1...10 ditentukan ukuran sam-pelnya adalah i×10

for(i in 1:10){ n.sampel<-i*10 }

(b) Dengan menggunakan batasan maksimum 100, sedangkan

n.sampelmengalami kenaikan 10 mulai dari 10

n.sampel<-10

while(n.sample<100){

n.sampel<-n.sampel+10 }

3. Selanjutnya pada loop tadi dapat disisipkan perintah membangkitkan data normal dengan mean 50 dan variansi 10, X N(50,10). Hal ini bisa juga dilakukan dengan membangkitkan dataZ N(0,1) selanjut-nya ditransformasi denganX =σZ+µ.Pada bagian/tahap yang sama kita menghitung mean dariX serta menaruh hasilnya pada matriks m

pada baris dan kolom yang bersesuaian

Z<-rnorm(n.sample) X<-sqrt(10)*Z+50 m[i,1]<-n.sampel m[i,2]<-mean(X)

4. Selanjutnya, setelahloopberakhir, kita bisa mencetak grafiknya. Grafik sederhana dapat dibuat dengan menggunakan perintah

(66)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 66 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

m[,k] menunjukkan seluruh baris pada kolom k sedangkanm[i,]

me-nunjukkan baris kedua untuk seluruh kolom. Perintah yang lebih lengkap dapat dilakukan dengan memberikan judul dan label sumbu koordinat, atau bahkan warna.

plot(m[,1],m[,2],type=✬l✬,xlab=✬Sumbu X✬,ylab=✬Sumbu Y✬,

main=✬Judul Grafik✬)

Secara keseluruhan kita mempunyai skrip berikut.

n<-10

m<-matrix(0,n,2) for(i in 1:n){

n.sampel<-i*10 Z<-rnorm(n.sample) X<-sqrt(10)*Z+50 m[i,1]<-n.sampel m[i,2]<-mean(X) }

plot(m[,1],m[,2],type=✬l✬,xlab=✬Sumbu X✬,ylab=✬Sumbu

Y✬,main=✬Judul Grafik✬)

(67)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 67 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

Contoh 1.10. Misalkan kita ingin membuat grafik dari persamaan matem-atika berbentuk persamaan parametriks seperti berikut.

(x, y) =

(

x=φ1(t)

y=φ2(t)

Salah satu program yang bisa dibuat adalah seperti berikut dengan hasil seperti pada Gambar 1.14.

par(mfrow=c(2,2)) t<-seq(0,360,5) y<-sin(t)

x<-cos(t)

plot(x,y,type=✬l✬,col=✬blue✬,main=✬(cos(t),sin(t))✬)

plot(x^2,y,type=✬l✬,col=✬green✬,main=✬(cos(t)^2,sin(t))✬)

plot(x,x*y,type=✬l✬,col=✬red✬,main=✬(cos(t),cos(t)*sin(t))✬)

plot(y,y/x,type=✬l✬,col=✬cyan✬,main=✬(cos(t),cos(t)/sin(t))✬)

1.4.3.

Mendefinisikan Fungsi dalam R

Perintah panjang (terutama terkait dengan rumus-rumus matematika) dan sering dievaluasi dengan nilai berbeda dapat ditulis sebagai fungsi. Berikut akan dibahas secara lebih rinci cara-cara mendefinisikan fungsi sesuai petun-juk yang telah diberikan pada bagian sebelumnya. Sebagaimana telah dibicarakan sebelumnya bahwa fungsi dalam R memilikiParameterdengan struktur berikut:

(68)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 68 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

0 1000 2000 3000 4000 5000

49.4

49.6

49.8

50.0

50.2

50.4

50.6

Mean Populasi dan Rata−rata Sampel

Ukuran Sampel

Mean−Rata−rata

Gambar 1.13: Ilustrasi Simulasi Mean Populasi dan Rata-rata Sampel

ekspresi1, ....

fungsi1 ....

hasil akhir (returned value) }

(69)

per-UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 69 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Gambar 1.14: Contoh Grafik Fungsi Parametrik Dimensi Dua

hitungan yang dilakukan dalam suatu fungsi, maka harus ditegaskan hasil yang akan ditampilkan sebagai hasil akhir eksekusi fungsi. Hasil ini disebut sebagaireturned valueyang dilakukan dengan memanggil kembali hasil yang telah dihitung. Pada dasarnya fungsi R adalah translasi dari fungsi matem-atika ke dalam bahasa R. Hal ini akan terlihat jelas dari beberapa contoh yang diberikan.

fungsi.f<-function(x){x*sin(x)} fungsi.g<-function(x,y){

log(x)+fungsi.f(x)+exp(y)

(70)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 70 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

memanggil fungsi f dan ini hal yang bisa dilakukan dalam mendefinisikan fungsi-fungsi R. Agar fungsi g berfungsi dengan baik maka fungsi f harus sudah didefinisikan terlebih dahulu sebelum mendefinisikan fungsi g.

Menghitung nilai fungsi dan akar-akar persamaan kuadrat

Kita dapat mendefinisikan fungsi untuk menghitung nilai fungsi persamaan tersebut untuk berbagai nilai konstanta dan variabel. Hal ini bermanfaat dalam membuat grafik dari persamaan tersebut.

Contoh 1.11. Fungsi untuk menghitung nilai fungsi kuadrat

f<-function(a,b,c,x){ a*x^2+b^x+c

}

Fungsi di atas dapat dievaluasi untuk nilai-nilai konstanta baik a, b, c

maupun variabel x yang berbeda-beda. Selain menghitung nilai fungsi, kita juga dapat membuat program untuk menghitung akar-akar persamaan kuadrat.

Contoh 1.12. Misalkan kita ingin membuat program/fungsi R dari rumus abc untuk menghitung akar-akar persamaan kuadratf(x) = ax2

+bx+c= 0 untuk berbagai nilai a, b, c.

(71)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 71 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1. Yakinkan bahwa fungsi yang akan diprogramkan secara matematis su-dah valid. Untuk fungsi yang merupakan rumus abc bentuk matem-atikanya adalah

x12 = −

b±√b2

−4ac

2a

Dalam format fungsi R, koefisien a, b, dan c diperlakukan sebagai pa-rameter fungsi. Akar-akar x1 dan x2 didefinisikan sesuai dengan

ru-mus abc. Ini adalah bagian algoritma yang harus dimiliki sebelum kita menulis skrip pemrograman. Untuk rumus abc, kita tahu hasil secara matematis untuk persamaan kuadrat fungsi matematikanya di-tunjukkan oleh persamaan di atas.

2. Langkah selanjutnya adalah menerjemahkan rumus atau komponen-komponennya ke dalam bahasa R. Mengingat ada dua nilai yang di-hasilkan yaitu x1 dan x2, maka variabel x1 dan x2 harus

dikombi-nasikan melalui perintah cbind(x1,x2) jika dikelompokkan menjadi vektor baris, atau rbind(x1,x2) jika dikelompokkan menjadi vektor kolom. Vektor ini sekaligus menjadi hasil yang ditampilkan (returned value).

fungsi.abc<-function(a,b,c){

x1<-(-b+sqrt(b^2-4*a*c))/2*a x2<-(-b-sqrt(b^2-4*a*c))/2*a cbind(x1,x2)

(72)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 72 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.4.4.

Mengevaluasi Nilai Fungsi

Setelah fungsi terbentuk kita bisa melakukan evaluasi. Kita bisa mengevalu-asi fungsi tersebut untuk suatu nilaia, b, ctertentu. Berikut adalah beberapa hasil yang diperoleh dari hasil evaluasi fungsi yang dibuat.

> fungsi.abc(1,-5,6) x1 x2

[1,] 3 2

> fungsi.abc(1,0,-4) x1 x2

[1,] 2 -2

Jika pembentukan vektor mwenggunakan perintah rbind(x1,x2) maka kita akan memperoleh hasil seperi berikut

> fungsi.abc(1,-5,6) [,1]

x1 3

x2 2

> fungsi.abc(1,0,-4) [,1]

x1 2

x2 -2

(73)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 73 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

> fungsi.abc(1,0,4) [,1]

x1 NA

x2 NA

NA berarti tidak ada hasil yang tersedia.

Jika dalam pemanggilan fungsi hanya diberi nilai parameter, R akan mendistribusikan nilai parameter sesuai dengan urutan parameternya. Jika dalam pemanggilan identitas parameternya telah ditentukan, urutan penem-patan dapat berbeda. Pemanggilan berikut menghasilkan hasil yang sama

fungsi.abc(1,-2,-15)

fungsi.abc(a=1,c=-15,b=-2) fungsi.abc(c=-15,b=-2,a=1)

> fungsi.abc(1,-2,-15) x1 x2

[1,] 5 -3

> fungsi.abc(a=1,c=-15,b=-2) x1 x2

[1,] 5 -3

> fungsi.abc(c=-15,b=-2,a=1) x1 x2

[1,] 5 -3

(74)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 74 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

abc tersebut kurang dari 0. Untuk itu, kita perlu menggunakan perintah-perintah kontrol seperti if, if else. Fungsi di atas dapat dikembangkan menjadi seperti berikut ini.

# contoh fungsi untuk menghitung akar- akar persamaan # kuadrat dengan rumus abc

# dalam fungsi ini a tidak boleh sama dengan 0. fungsi.abc<-function(a,b,c){

if(a==0){stop("\na harus <>0")} D<-b^2-4*a*c # diskriminan

if(D>=0){

x1<-(-b+sqrt(b^2-4*a*c))/2*a x2<-(-b-sqrt(b^2-4*a*c))/2*a

rbind(x1,x2) # membuat vektor akar- akar }

else{cat("\n Akar- akar imaginer")} # pesan kalau D<0

}

Setiap kali kita melakukan perubahan atau revisi pada fungsi, maka fungsi itu harus di eksekusi dulu supaya perbaikannya menjadi efektif ter-catat dalam R. Jika tidak, maka R tetap akan memanggil fungsi yang belum diperbaiki. Beberapa hasil yang diperoleh dari eksekusi fungsi yang telah dimodifikasi untuk berbagai nilai parameter a, b, c adalah sebagai berikut.

(75)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 75 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

[,1]

x1 2

x2 -2

> fungsi.abc(1,5,-6) [,1]

x1 1

x2 -6

> fungsi.abc(1,5,6) [,1]

x1 -2

x2 -3

> fungsi.abc(1,0,4) Akar- akar imaginer >

> fungsi.abc(0,0,4)

Error in fungsi.abc(0, 0, 4): a harus <>0

(76)

UNEJ

Daftar Isi

Judul

◭◭ ◭ ◮ ◮◮

Hal. 76 dari 483

Cari Halaman

Kembali

Layar Penuh

Tutup

Keluar

1.4.5.

Mengemas Keluaran Fungsi

Untuk fungsi yang lebih kompleks, misalnya dalam analisis data, banyak hal yang dikerjakan dalam fungsi. Hal-hal yang dikerjakan dalam fungsi dapat dikemas menjadi satu kesatuan keluaran. Misalnya dalam hal persamaan kuadrat, selain perhitungan akar-akar, ada perhitungan diskriminan. Semua perhitungan ini da-pat dikemas menjadi suatu daftar ataulist(). Program fungsi.abc di atas selan-jutnya dapat dimodifikasi dengan menambahkan beberapa baris program berikut.

x12<-rbind(x1,x2) # membuat vektor akar- akar hasil<-list()

hasil<-list(akar1=x12[1],akar2=x12[2],disk=D)

Pemanggilan fungsi dengan evaluasi nilai tertentu akan menghasilkan learan yang dilabel sebagai akar dan det.

$akar1 [1] 1

$akar2 [1] -3

$disk [1] 16

Gambar

Tabel jumlah (kg) salak dan anggur dan harga yang dibayar . . . .
Gambar 1.1: Contoh skrip pada Tinn-R.
Gambar 1.2: Lay Out Multi Grafik
Tabel 1.1: Daftar Operasi Vektor dan Matriks dalam R. Operasi lanjut yang
+7

Referensi

Dokumen terkait

Berlandaskan pada sebuah paham Kapitalisme dalam tatanan ekonomi konvensional, setiap konsumen dikenalkan pada sebuah sistem perekonomian yang memberikan kebebasan secara penuh

Sebagaimana diuraikan di atas, maka sumber ilmu Tauhid adalah dari dalil naqli dan dalil aqli. Dalil naqli ialah berasal dari al-Qur’an dan Hadits, sedangkan dalil

Izin Gangguan adalah pemberian Izin Tempat Usaha /Kegiatan kepada orang pribadi atau Badan di Lokasi tertentu yang dapat menimbulkan bahaya dan/atau

(metode survei) atau penelitian benda (metode observasi). Kelebihan dari data primer adalah data lebih mencerminkan kebenaran berdasarkan dengan apa yang dilihat dan

Using genetic algorithm for network intrusion detection, in Proceedings of the United States Department of Energy Cyber Security Group 2004 Training Conference, Kansas City,

mem bahas wilayah kerja USAID PRIORITAS Jatim baik di kab/kota la ma (9 kab) maupun penentu­ an kab/kota baru yang telah diusulkan pada pertemuan se be­ lumnya dengan Bappeda

24 Penggunaan perbedaan temporer yang boleh dikurangkan pada masa yang akan datang terjadi dalam bentuk pengurangan laba fiskal. Namun, manfaat ekonomi berupa pengurangan

Secara spesifik Pasal 3 UUPP mengemukakan bahwa tujuan dari UU Pelayanan Publik adalah: (1) terwujudnya batasan dan hubungan yang jelas tentang hak, tanggung