MODEL-MODEL STATISTIKA UNEJ
(Handout/ E-book Untuk Program S2 Matematika)
Daftar Isi
Judul
JJ J
I II
Hal. 1 dari 483
Cari Halaman
Prof. Drs. I. M. Tirta, Dip.Sc, M.Sc., Ph.D. Kembali
[email protected]
Catatan: Versi lengkap dapat dibaca/dilihat pada CD dengan Acrobat Reader
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Isi
Daftar Isi
Judul
1 DASAR-DASAR PEMROGRAMAN R 1.1 Tampilan R-Console . . . . . . . . . . . . . . . . . . . . . 1.2 Beberapa Fungsi Penting dalam R . . . . . . . . . . . . . . 1.2.1 Operasi Vektor dan Matriks . . . . . . . . . . . . . . 1.2.2 Fungsi Dasar Statistika . . . . . . . . . . . . . . . . 1.2.3 Fungsi Pembangkit Data Peubah Acak . . . . . . . . 1.2.4 Fungsi untuk Menangani Grafik . . . . . . . . . . . . 1.2.5 Perintah Penanganan Berkas R . . . . . . . . . . . . 1.3 Memanfaatkan Pustaka . . . . . . . . . . . . . . . . . . . . 1.3.1 Mencari Informasi Pustaka . . . . . . . . . . . . . . 1.3.2 Memanggil Pustaka . . . . . . . . . . . . . . . . . . 1.3.3 Aplikasi R untuk Manipulasi Grafik . . . . . . . . . . 1.4 Menulis Program pada R . . . . . . . . . . . . . . . . . . . 1.4.1 Komponen-Komponen Program . . . . . . . . . . . 1.4.2 Langkah- langkah Penting dalam Penulisan Program
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
15 16 20 20 22 24 26 30 45 45 47 49 59 59 62
JJ J
I II
Hal. 2 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.5 1.6
1.7
1.4.3 Mendefinisikan Fungsi dalam R . . . . . . . . . . . . . . . . 1.4.4 Mengevaluasi Nilai Fungsi . . . . . . . . . . . . . . . . . . . 1.4.5 Mengemas Keluaran Fungsi . . . . . . . . . . . . . . . . . . 1.4.6 Menghindarkan Loop . . . . . . . . . . . . . . . . . . . . . 1.4.7 Menghitung Akar-Akar Persamaan dengan Metode Numerik Mengemas Fungsi Menjadi Paket . . . . . . . . . . . . . . . . . . . Mengemas Paket . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.1 Menyiapkan Fungsi-fungsi Terkait . . . . . . . . . . . . . . 1.6.2 Menyiapkan Dokumen Bantuan . . . . . . . . . . . . . . . . 1.6.3 Menyiapkan Program Pendukung . . . . . . . . . . . . . . . 1.6.4 Langkah Mengemas Paket . . . . . . . . . . . . . . . . . . 1.6.5 Aplikasi R untuk Model Statistika/ Analisis Regresi . . . . . 1.6.6 RCommnder RGUI untuk analisis dasar . . . . . . . . . . . Bacaan Lebih lanjut . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
67 72 76 79 84 98 100 100 100 103 104 106 109 110
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 3 dari 483
I
Prasyarat Distribusi Keluarga Eksponensial
2 LEBIH LANJUT TENTANG DISTRIBUSI ACAK 2.1 Distribusi Gamma . . . . . . . . . . . . . . . . 2.1.1 Fungsi Gamma . . . . . . . . . . . . . 2.1.2 Distribusi Gamma . . . . . . . . . . . . 2.2 Momen dari peubah acak berdistribusi Gamma 2.3 Beberapa Bentuk Khusus . . . . . . . . . . . . 2.3.0.1 Distribusi χ2 . . . . . . . . . 2.3.0.2 Distribusi Eksponensial . . . .
. . . . . . .
111 . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
112 116 116 118 128 131 131 133
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
2.4 2.5
2.6 2.7
2.8 2.9
Hubungan antara Beberapa Distribusi . . . . . . . . . . . . . . . . . Unifikasi Sebaran dalam Sebaran Keluarga Eksponensial . . . . . . . . 2.5.1 Bentuk umum . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5.2 Nilai-tengah dan Ragam dari a(Y ) . . . . . . . . . . . . . . 2.5.3 Beberapa Bentuk Khusus . . . . . . . . . . . . . . . . . . . . 2.5.3.1 Distribusi Binomial dengan Parameter n, p . . . . . 2.5.3.2 Distribusi Poisson dengan Parameter θ. . . . . . . . 2.5.3.3 Distribusi Normal dengan Parameter θ dan σ . . . . 2.5.3.4 Distribusi Gamma dengan parameters θ dan skala φ. 2.5.3.5 Distribusi lainnya . . . . . . . . . . . . . . . . . . . Perluasan Distribusi dengan Tiga dan Empat Parameter . . . . . . . . Distribusi Bertingkat/Campuran . . . . . . . . . . . . . . . . . . . . 2.7.1 Distribusi Poisson-Gamma . . . . . . . . . . . . . . . . . . . 2.7.2 Distribusi Binomial-Beta . . . . . . . . . . . . . . . . . . . . 2.7.3 Distribusi Normal-normal . . . . . . . . . . . . . . . . . . . . Bacaan Lebih Lanjut . . . . . . . . . . . . . . . . . . . . . . . . . . Soal-soal Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . .
137 142 142 143 147 147 148 149 149 150 154 156 159 162 163 165 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 4.2 Hasil terkait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 4 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
5 DASAR-DASAR PEMODELAN STOKASTIK 5.1 Prinsip Pemodelan . . . . . . . . . . . . . . . . . . . . . 5.2 Langkah-langkah Penting Dalam Pemodelan . . . . . . . 5.2.1 Langkah penting dalam Pemodelan secara Umum 5.2.2 Langkah penting dalam Pemodelan Stokastik . . . 5.3 Metode Mengestimasi Parameter . . . . . . . . . . . . . 5.3.1 Metode kuadrat terkecil . . . . . . . . . . . . . . 5.3.2 Metode likelihood maksimum . . . . . . . . . . . 5.3.3 Mencari maksimum dengan metode numerik . . . 5.4 Model Linier dan Perkembangannya . . . . . . . . . . . . 5.4.1 Model linier klasik . . . . . . . . . . . . . . . . . 5.4.2 Model linier tercampur . . . . . . . . . . . . . . . 5.4.3 Model linier tergeneralisasi . . . . . . . . . . . . . 5.4.4 Model linier campuran tergeneralisasi . . . . . . . 5.5 Pengembangan Lain Model Linier . . . . . . . . . . . . . 5.6 Outline Buku . . . . . . . . . . . . . . . . . . . . . . . . 5.7 Latihan Soal- soal . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
187 191 198 198 199 205 205 206 207 211 212 214 217 219 221 224 225
6 MODEL LINIER KLASIK 6.1 Bentuk dan Asumsi . . . . . . . 6.2 Estimasi Parameter . . . . . . . 6.2.1 Estimasi dengan Metode 6.2.2 Estimasi dengan Metode 6.3 Uji Inferensial dari βˆj . . . . . . 6.3.1 Distribusi βˆj . . . . . . 6.3.2 Estimasi selang dari βj .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
226 229 231 231 235 238 238 241
. . . . . . . . . . . . . . . . . . . . . . . . Kuadrat Terkecil . . Likelihood Maksimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 5 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
6.3.3 Uji Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4 Koefisien Determinasi R2 . . . . . . . . . . . . . . . . . . . 6.4 Penggunaan Matriks untuk Regresi Peubah Ganda . . . . . . . . . 6.4.1 Perluasan hasil untuk Regresi Peubah Ganda . . . . . . . . 6.4.2 Pendekatan Matriks Metode Kuadrat Terkecil . . . . . . . . 6.4.3 Pendekatan Matriks untuk Metode Kemungkinan Maksimum 6.5 Interval Keyakinan µ dan Prediksi Y . . . . . . . . . . . . . . . . . 6.6 Melaporkan Nilai Probabilitas p . . . . . . . . . . . . . . . . . . . . 6.7 Model Linier dengan Variabel Kualitatif . . . . . . . . . . . . . . . 6.7.1 Variabel Boneka dengan Model Berkonstanta . . . . . . . . 6.7.2 Variabel Boneka dengan Konstanta tidak Eksplisit . . . . . . 6.8 Ilustrasi Model Linier Normal dengan R . . . . . . . . . . . . . . . 6.8.1 Simulasi dengan R . . . . . . . . . . . . . . . . . . . . . . . 6.8.2 Menggunakan Fungsi lm() . . . . . . . . . . . . . . . . . . 6.8.3 Model dengan Variabel Kualitatif . . . . . . . . . . . . . . . 6.8.4 Analisis dengan Subset . . . . . . . . . . . . . . . . . . . . 6.9 Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10 Bacaan Lebih Lanjut . . . . . . . . . . . . . . . . . . . . . . . . . 6.11 Latihan Soal- Soal . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
242 243 251 251 253 256 260 263 265 266 268 273 273 277 281 290 295 296 297
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 6 dari 483
Cari Halaman
Kembali
II
Model-model Statistika Modern
299
7 MODEL LINIER TERAMPAT 300 7.1 Konsep Dasar Model Linier Trampat/Tergeneralisir . . . . . . . . . . 305 7.1.1 Sisi lain Model Linier Normal . . . . . . . . . . . . . . . . . . 305
Layar Penuh
Tutup
Keluar
7.1.2
7.2
7.3
7.4 7.5 7.6
7.7 7.8 7.9
Generalisasi Model Linier Klasik ke Model Linier Terampat/ Tergeneralisir . . . . . . . . . . . . . . . . . . . . . . . . . . Estimasi pada Model Linier Tergeneralisir . . . . . . . . . . . . . . . 7.2.1 Metode Penduga Kuadrat Terkecil . . . . . . . . . . . . . . . 7.2.2 Metode Penduga Likelihood Maksimum . . . . . . . . . . . . Inferensi pada Model Linier Tergeneralisir . . . . . . . . . . . . . . . 7.3.1 Distribusi dari Penduga Likelihood Maksimum . . . . . . . . 7.3.2 Kecocokan Model . . . . . . . . . . . . . . . . . . . . . . . Model Logit, Probit dan Log-linier . . . . . . . . . . . . . . . . . . . Dispersi Berlebih . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ilustrasi GLM dengan R . . . . . . . . . . . . . . . . . . . . . . . . . 7.6.1 Data dengan Sebaran Binomial . . . . . . . . . . . . . . . . . 7.6.2 Prediksi pada GLM . . . . . . . . . . . . . . . . . . . . . . . Ringkasan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bacaan Lebih Lanjut . . . . . . . . . . . . . . . . . . . . . . . . . . Latihan Soal-soal . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 MODEL DENGAN MULTI RESPON 8.1 Model Marjinal . . . . . . . . . . . . . . . . 8.2 Quasi-Likelihood dan Generalized Estimating 8.3 Generalisasi dan Bentuk GEE . . . . . . . . . 8.4 Perluasan untuk GEE Orde 2 . . . . . . . . . 8.5 Ilustrasi GEE dengan R . . . . . . . . . . . . 8.6 Gamma-HGLM dan Model Lainnya . . . . . . 8.6.1 Gamma-HGLMs . . . . . . . . . . . . 8.6.2 Likelihood Bersama: Model JGIG . . .
. . . . . . Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . (GEE) . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
306 310 312 314 321 322 325 328 331 332 334 343 346 347 348 349 354 357 359 363 364 371 371 374
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 7 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
8.7 8.8 8.9
8.6.3 Estimasi Parameter β dan v . . . . . 8.6.4 Pendugaan parameter dispersi ν dan α 8.6.5 Analisis HGLM dengan R . . . . . . . Ringkasan . . . . . . . . . . . . . . . . . . . Bacaan Lebih Lanjut . . . . . . . . . . . . . Latihan Soal-soal . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
376 382 384 389 390 391
. . . . . . . . . . . . .
392 396 396 396 402 402 404 407 410 413 414 417 419 425
UNEJ
Daftar Isi
9 MODEL ADITIF TERAMPAT 9.1 Data dengan Hubungan Tidak Linier . . . . . . . . . . . . . . . . . 9.1.1 Data dengan Hubungan Tidak Linier Sederhana/ Parametrik 9.1.2 Data dengan Hubungan nonlinier tidak sederhana . . . . . . 9.2 Model Statistika Aditif Terampat . . . . . . . . . . . . . . . . . . . 9.2.1 Bentuk Umum dan Asumsi . . . . . . . . . . . . . . . . . . 9.2.2 Penghalus lokal . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Pengepasan GAM . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.4 Perluasan GAM ke GAMLSS . . . . . . . . . . . . . . . . . . . . . 9.5 GAM dan GAMLSS dengan R . . . . . . . . . . . . . . . . . . . . 9.5.1 Model semiparametrik dengan gam() . . . . . . . . . . . . . 9.5.2 Model parametrik dengan gam() dan bs() . . . . . . . . . 9.5.3 Model penghalusan parametrik dengan gamlss() . . . . . . 9.6 Bacaan Lebih Lanjut . . . . . . . . . . . . . . . . . . . . . . . . .
10 PENGANTAR MODEL PERSAMAAN STRUKTURAL (Dalam Proses KONSTRUKSI) 426 10.1 Latar belakang dan Motivasi . . . . . . . . . . . . . . . . . . . . . . 429 10.2 ruKomponen Dalam SEM . . . . . . . . . . . . . . . . . . . . . . . . 434
Judul
JJ J
I II
Hal. 8 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
10.3 10.4 10.5 10.6 10.7 10.8 10.9
10.2.1 Variabel Laten dan Variabel Indikator 10.2.2 Notasi dan Terminologi . . . . . . . . Jenis dan Pendekatan Analisis SEM . . . . . Diagram Jalur . . . . . . . . . . . . . . . . . Model Matematika SEM . . . . . . . . . . . Analisis SEM pada R . . . . . . . . . . . . . Kelemahan CB-SEM dan SEM Alternatif . . . Rangkuman . . . . . . . . . . . . . . . . . . Bacaan Lebih Lanjut . . . . . . . . . . . . .
Glosarium
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
434 435 436 442 444 445 450 452 454
UNEJ
Daftar Isi
Judul
455
A DATA UNTUK ILUSTRASI 469 A.1 Dari Paket base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 A.2 Dari Paket car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 A.3 Dari Paket stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
JJ J
I II
Hal. 9 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Gambar
Daftar Isi
Judul
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15
Menulis Skrip dengan Tinn-R . . . . . . . . . . . . . . . Lay Out Multi Grafik . . . . . . . . . . . . . . . . . . . Contoh Histogram dengan Kurva Densitas . . . . . . . Contoh Diagram Pencar dengan rug dan boxplot . . . Contoh Gabungan Grafik Besar dengan Grafik Mini . Contoh Gabungan Grafik dengan Pembagian Layar . . Contoh Gabungan Grafik dengan pembagian layar . . Contoh Histogram dengan Kurva Densitas . . . . . . . Contoh Diagram Pencar dengan rug dan boxplot . . . Contoh Gabungan Grafik Besar dengan Grafik Mini . Contoh Gabungan Grafik dengan Pembagian Layar . . Contoh Gabungan Grafik dengan pembagian layar . . Ilustrasi Simulasi Mean Populasi dan Sata-rata sampel . Contoh Grafik Fungsi Parametrik Dimensi dua . . . . . . Ilustrasi Maksimum/ Minimum dengan Newton Raphson
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
19 26 39 40 41 42 43 54 55 56 57 58 68 69 88
JJ J
I II
Hal. 10 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
2.1 2.2 2.3 2.4 2.5 2.6 2.7
Ilustrasi fungsi dan penambahan konstanta . . . . . . . . . . . . . Ilustrasi fungsi dan perkalian suatu konstanta . . . . . . . . . . . . Ilustrasi bentuk dan skala distribusi gamma . . . . . . . . . . . . . Ilustrasi bentuk dan skala distribusi χ2 . . . . . . . . . . . . . . . . Ilustrasi bentuk dan skala distribusi ekspoensial . . . . . . . . . . . Plot Densitas dari sampel dengan berbagai nilai-tengah dengan ukuran sampel 100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sebaran Data dengan ukuran sampel 100 dengan distribusi Normal (b) dan Gamma (r) . . . . . . . . . . . . . . . . . . . . . . . . . . .
125 126 127 135 136 152 153
3.1 3.2 3.3
Ilustrasi distribusi t dengan berbagai derajat kebebasan . . . . . . 172 Ilustrasi distribusi t dan normal baku . . . . . . . . . . . . . . . . 172 Ilustrasi transformasi fungsi peubah acak . . . . . . . . . . . . . . 177
5.1 5.2
Ilustrasi Regresi 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Ilustrasi Regresi 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
6.1 6.2 6.3
Ilustrasi Garis regresi dan sabuk keyakinan . . . . . . . . . . . . . Sebaran data dengan variabel kualitatif . . . . . . . . . . . . . . . Garis Regresi sejajar dengan selisih konstanta β2 dan gradien sama (β1 ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Garis Regresi berbeda dengan selisih konstanta β2 dan selisih gradien β3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grafik Penduga βˆ1 = α ˆ dari penarikan sampel 100 kali masingmasing berukuran 60. Nilai parameter sebenarnya adalah α = 3. .
6.4 6.5
262 270 271 272
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 11 dari 483
Cari Halaman
Kembali
Layar Penuh
277 Tutup
Keluar
6.6
6.7 6.8 6.9
7.1 7.2
Grafik Penduga βˆ1 = α ˆ dari beberapa penarikan sampel dengan ukuran mulai 10 sampai dengan 1000. Nilai parameter sebenarnya adalah α = 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contoh Histogram dengan Kurva Densitas Data Cars . . . . . . . . Diagram Pencar X dengan Y yang mengandung kelompok yang dapat digabung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagram Pencar X dengan Y mengandung kelompok yang perlu dipisah . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
278 292 293
Daftar Isi
294
Respon dengan Fungsi Hubungan Logit dan Probit . . . . . . . . . 309 Diagram Pencar Prediksi dan Data Asli Peluang Keberhasilan Berbagai Kelompok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
9.1 9.2 9.3 9.4 9.5 9.6 9.7
Ilustrasi data dengan hubungan kuadratik . . Ilustrasi data dengan hubungan kubik . . . . Ilustrasi data dengan hubungan log . . . . . . Ilustrasi data dengan hubungan eksponensial Ilustrasi data dengan hubungan nonlinier . . Ilustrasi pengepasan berlebih . . . . . . . . . Grafik Pemeriksaan Peubah Penghalus . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
397 398 399 400 401 409 424
10.1 10.2 10.3 10.4 10.5 10.6
Hubungan Variabel pada Regresi . . . . . Hubungan Variabel diluar Analisis Regresi Contoh model CFA . . . . . . . . . . . . . Contoh model hybrid . . . . . . . . . . . . Contoh model hybrid . . . . . . . . . . . . Contoh Diagram Jalur pada SEM . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
432 433 439 440 441 449
. . . . . .
. . . . . .
UNEJ
Judul
JJ J
I II
Hal. 12 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Tabel
Daftar Isi
Judul
1.1 1.2 1.3 1.4 1.5 1.6 1.7
Daftar Operasi Vektor dan Matriks . . Fungsi Dasar Statistika . . . . . . . . Fungsi Pembangkit Data . . . . . . . Fungsi R untuk Grafik . . . . . . . . . Fungsi dan paket untuk menggambar Aneka Rupa Fungsi R . . . . . . . . . Fungsi dan paket untuk menggambar
. . . . . . . . . . . . . . . . . . . . grafik R . . . . . grafik R
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
34 35 36 37 38 44 53
2.1 2.2
Rangkuman Distribusi Anggota Keluarga Eksponensial . . . . . . 151 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 7.2
Jumlah Sukses(S) dan Gagal dalam Berbagai Kelompok Faktor . . 330 Distribusi dan Link pada R . . . . . . . . . . . . . . . . . . . . . . 335
JJ J
I II
Hal. 13 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
7.3 7.4
Jumlah Kelulusan dalam Berbagai Kelompok Perlakuan . . . . . . 336 Format Data R Jumlah Kelulusan dan Kegagalan . . . . . . . . . 337
8.1 8.2
Respon Pengukuran berulang . . . . . . . . . . . . . . . . . . . . . 356 Paket dan Fungsi R terkait GEE dan HGLM . . . . . . . . . . . . 365
UNEJ
9.1 9.2
Sebaran diluar Keluarga Eksponensial yang dicakup GAMLSS . . 411 Paket dan Fungsi R terkait GAM . . . . . . . . . . . . . . . . . . . 423
Daftar Isi
10.1 Paket dan Fungsi R terkait SEM/ Analisis variabel Laten . . . . . 446
Judul
JJ J
I II
Hal. 14 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Bab 1 DASAR-DASAR PEMROGRAMAN R
Daftar Isi
Judul
JJ J
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;
Pada bab akan ini dibahas secara ringkas dasar-dasar pemrograman R, yang pada dasarnya hampir sama dengan pemrograman dengan S-Plus.
I II
Hal. 15 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 layar R console untuk R versi 2.15.0 adalah seperti berikut ini.
UNEJ
Daftar Isi
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.
Judul
JJ J
I II
Hal. 16 dari 483
Cari Halaman
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. Type 'q()' to quit R.
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).
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 17 dari 483
Cari Halaman
Kembali
NamaObjek<-definisi
Contoh 1.1. Pada Contoh berikut objek X bernilai 9 dan objek x bernilai 8.
Layar Penuh
Tutup
Keluar
>x<-2^3 >X<-3^2 >x [1] 8 >X [1] 9 Objek R dapat berupa konstanta, vektor/ matriks atau fungsi. Agar objek yang didefinisikan dapat disimpan secara permanen, maka pada akhir section harus dijawab Y (yes) ketika ada konfirmasi Save workspace image ?
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 18 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 19 dari 483
Cari Halaman
Kembali
Gambar 1.1: Contoh skrip pada Tinn-R.
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 biasa dapat dilakukan dan itu akan dikerjakan berdasarkan unsur-unsur yang bersesuaian seperti pada contoh diatas. Khusus untuk opersi vektor dan matriks, R memiliki operasi dasar seperti yang ditunjukkan dalam Tabel 1.1 pada halaman 34. 4 5 Contoh 1.2. Misalkan kita memiliki dua vektor, yaitu X = 3 dan Y = 6 2 4 , maka hasil berbagai operasi hitung biasa di antara kedua vektor ini 3 6 adalah
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 20 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
Sedangkan hasil beberapa operasi vektor atau matriks diperoleh seperti berikut
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 21 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
UNEJ
Daftar Isi
> t(x)%*%y [,1] [1,] 73 >solve(t(x)%*%y) [,1] [1,] 0.01369863
Judul
JJ J
I II
Hal. 22 dari 483
> x[2] [1] 5
Cari Halaman
Kembali
1.2.2.
Fungsi Dasar Statistika
Selain fungsi dasar dalam matematika, R juga mempunyai sekumpulan fungsi dasar yang biasa dipergunakan dalam bidang statistika. Variabel dalam fungsi statistika ini adalah berupa vektor data. Fungsi- fungsi ini dirangkum pada Tabel 1.2 pada halaman 35.
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: UNEJ
> 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
Daftar Isi
Judul
JJ J
I II
Hal. 23 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
> range(y) 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
UNEJ
Daftar Isi
Judul
JJ J
I II
range memberikan 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. Fungsifungsi ini adalah 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: rdistribusi untuk membangkitkan data acak/ random dari suatu distribusi dengan Parameter tertentu.
Hal. 24 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 x tertentu qdistribusi untuk mencari nilai x yang membatasi luas daerah (nilai peluang) tertentu dari suatu distribusi distribusi adalah 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
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 25 dari 483
Cari Halaman
Kembali
>mean(rnorm(100,50,5)) [1] 50.19985 >var(rnorm(100,50,5)) [1] 26.99507
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 sublembaran kecil (a × b). Masing-masing sublembaran dapat memiliki judul dan absis sendiri (lihat Gambar 1.2).
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 26 dari 483
Cari Halaman
Kembali
Layar Penuh
Gambar 1.2: Lay Out Multi Grafik Contoh 1.5. Misalkan kita inginkan 1 lembar tampilan grafik dibagi menjadi 6 subgrafik yang tersusun atas 2 × 3 (2 baris dan 3 kolom). Tentu saja sumbu
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.
UNEJ
Daftar Isi
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")
Judul
JJ J
I II
Hal. 27 dari 483
Cari Halaman
Kembali
Layar Penuh
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
Tutup
Keluar
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 analisis 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 emperik). Grafik ini memberikan gambaran secara intuitif kesesuaian sebaran data dengan sebaran teoritis yang menjadi asumsi (skrip berikut hasilnya terlihat pada Gambar 1.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 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")
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 28 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" ) UNEJ
par(mar=c(1,2,5,1)) boxplot(y, axes=F) Daftar Isi
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 disajikan 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) hist(y, probability=T,
Judul
JJ J
I II
Hal. 29 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 untuk Layout 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.
UNEJ
Daftar Isi
Judul
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")
JJ J
I II
Hal. 30 dari 483
Cari Halaman
Kembali
Layar Penuh
1.2.5.
Perintah Penanganan Berkas R
Di samping fungsi-fungsi yang berhubungan dengan penanganan berkas atau file seperti membaca file skrip, menyimpan file keluaran, mencetak komentar
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 “Untuk x = 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 fungsi linear model lm() maka perintahnya adalah example(lm) dan sebagian hasil keluaran yang terjadi adalah: > example(lm) lm> ctl <- c(4.17, 5.58, 5.18, 6.11, 4.5, 4.61, 5.17, 4.53, 5.33, 5.14)
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 31 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"))
UNEJ
lm> weight <- c(ctl, trt) Daftar Isi
lm> anova(lm.D9 <- lm(weight ~ group)) Analysis of Variance Table Judul
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
JJ J
I II
Hal. 32 dari 483
lm> summary(lm.D90 <- lm(weight ~ group - 1)) Cari Halaman
Call: lm(formula = weight ~ group - 1) Kembali
Residuals: Min 1Q -1.0710 -0.4938
Median 0.0685
3Q 0.2462
Max 1.3690
Coefficients: Estimate Std. Error t value Pr(>|t|)
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 F-statistic: 485.1 on 2 and 18 DF, p-value: < 2.2e-16
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 33 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 pustaka matrix No Nama Operasi 1 2 3 4 5 6 7 8 9 10
Fungsi/
pembentukan matriks pembentukan barisan barisan berpola transpose matriks determinan matriks matriks diagonal diagonal matriks teras (trace) matriks perkalian matriks inverse matriks
Notasi Matematika x
xT det(x) D
xy x−1
Fungsi R
matrix(data, nbaris, nkolom); seq(awal, akhir, kenaikan); seq(awal, akhir, length=n) rep((el.),replik) atau rep((elemen),each=n) t(x) det(x) diag(data) diag(matriks) tr(matriks) x %*% y solve(x)
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 34 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Isi
Tabel 1.2: Fungsi Dasar Statistika pada R No Nama Fungsi 1 minimum. maximum 2 range 3 mean, median, 4 variance 5 correlation 6 ringkasan data 7 contoh/ sampling data
Notasi Statistika min, max
Fungsi dalam R min(), max()
range ¯ , median x S2 ρxy
range() mean(), median() var() cor(x,y) summary() sample()
Judul
JJ J
I II
Hal. 35 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 distribusi. UNEJ
No Nama Distribusi 1 Poison(λ)
2
Parameter µ = σ2 = λ
Binomial (s, π) µ = sπ σ 2 = sπ(1 − π)
Perintah dalam R rpois(n,lamda); dpois(x, lambda); ppois(x, lambda); qpois(p, lambda) rbinom(n, s, pi); dbinom(x, s, pi); pbinom(x, s, pi); qbinom(p, s, pi)
Daftar Isi
Judul
JJ J
I II
Hal. 36 dari 483
3
4
Normal N (µ, σ 2 )
mean=µ, varians=σ 2
Gamma G(α, β) µ = α/β σ 2 = α/β 2
rnorm(n, dnorm(x, pnorm(x, qnorm(p, rgamma(n, dgamma(x, pgamma(x, qgamma(p,
mean, mean, mean, mean,
sigma); sigma); sigma); sigma)
alpha,beta); alpha, beta); alpha,beta); alpha, beta)
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
5
Chi-kuadrat χ2 (r)
µ = r;
rchisq(n,r); dchisq(r); pchisq(r); qchisq(r)
Tabel 1.4: Beberapa Fungsi Dasar R untuk Grafik. Tersedia fungsi baik untuk dua maupun tiga dimensi. No Tujuan 1 membuat multigrafik (banyak layar) 2 membuat diagram (grafik pencaran= p, dan garis =l) 3 4 5 6 7
8 9
menambah garis pada grafik yang sudah ada menambah titik pada grafik yang sudah ada memunculkan sumbu menambah text membuat grafik tiga dimensi membuat garis lurus memberi judul grafik dan sumbu
Perintah R par(mfrow=c(b, k)) plot(x,y, type=’l/p/b’, xlab="", ylab="", lty=0, ylim=c(,)) lines(x, y, lty=, pch= ’numerik’) points(x, y, pch=’numerik/simbol’) axis(1,outer=T,las=1) text(x,y,"teks") persp(x,y,z)
Keterangan b=banyak baris kolom l=line(grafik p=point(grafik b=keduanya
UNEJ
k=banyak Daftar Isi
garis) titik) Judul
angka numerik menunjukkan JJ J I II jenis garis numerik/simbol menunjukkan Hal. 37 dari 483 jenis titik Nomor aksis 1=bawah 2=kiri, 3=atas, 4=kanan. Cari Halaman
Data dalam bentuk matriks Kembali
contour(x,y,z) abline(a,b) abline(lm(y x)) main=’judul grafik’,xlab=’sumbu x’, ylab=’sumbu y’
untuk y = a + bx dari estimasi regresi teks ditulis diantara petik
Layar Penuh
tanda Tutup
Keluar
Tabel 1.5: Fungsi dan paket untuk menggambar grafik R Fungsi barplot() hist() boxplot() plot() pairs()
Paket graphics graphics graphics graphics graphics
abline()
graphics
contour() persp() rug() qq.plot()
graphics graphics graphics car
reg.line() car scatterplot(), car sp() spm(), car scatterplot.matrix(),
Penggunaan menggambar grafik batang menggambar histogram menggambar boxplot menggambar grafik X-Y menggambar Matriks Diagram Pencar menggambar garis lurus yang diketahui konstanta dan gradiennya menggambar kontur menggambar boxplot menggambar sebaran data pada sumbu menggambar plot perbandingan kuantil menggambar garis regresi menggambar diagram pencar data diagram pencar beberapa pasang peubah
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 38 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
HISTOGRAM DENGAN KURVA DENSITAS
0.4
UNEJ
0.2
JJ J
0.1
Judul
Hal. 39 dari 483
I II
Cari Halaman
0.0
Density
0.3
Daftar Isi
−3
−2
−1
0
1
2
x
Gambar 1.3: Contoh Histogram dengan Kurva Densitas.Kurva langsung adalah densitas teoritis, kurva putus-putus adalah densitas emperik data
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
DIAGRAM PENCAR DENGAN RUG & BOXPLOT
180
●
● ● ●
Daftar Isi
●
170
●
150
160
●
●
140
Y
●
●
● ●
● ●
●
● ● ● ●
● ●
130
● ● ● ●
●
● ● ● ● ●
●
● ● ●
● ● ● ● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ● ● ● ●
● ● ● ● ● ●
● ●
● ●
●
●
Judul
●
● ● ● ● ●
JJ J
I II
●
● ● ● ●
Hal. 40 dari 483
● ● ● ●
120
● ●
●
Cari Halaman 40
45
50
55
60
X
Kembali
Gambar 1.4: Contoh Diagram Pencar dengan rug dan boxplot(densitas data)
Layar Penuh
Tutup
Keluar
DIAGRAM BESAR DENGAN GRAFIK MINI
UNEJ
180
●
170
● ● ●
150
HistY
● ● ●
●
● ● ● ●
●
● ●
●
● ● ●
40
45
● ●
● ● ●
●
●
Judul
●
JJ J
I II
QQNorm
Hal. 41 dari 483
40
●
● ●
Daftar Isi
● ● ● ● ●
● ●
● ● ● ● ● ● ●
●
●
●
● ● ● ●
● ● ● ● ● ●
● ●
●
x
130
● ●
● ● ● ● ●
●
60
●
120
● ●
● ● ●
● ● ● ● ● ● ● ●
50
140
y
160
●
● ● ● ●
●
50 x
●● ● ● ●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●●●●
−2
−1
55
0
1
● ●
2
Cari Halaman
60
norm quantiles
Gambar 1.5: Contoh Gabungan Grafik Besar (Diagram Pencar) dengan Grafik Mini(Histogram dan QQPlot)
Kembali
Layar Penuh
Tutup
Keluar
Histogram Y
150
160
170
● ●● ● ● ● ● ● ● ●●● ● ● ● ● ●● ● ● ●● ● ● ●● ●● ●● ●● ●● ● ●● ●● ● ● ●● ● ●● ● ●● ● ●●
●
●● ●●
45
50
130 120
x
55
160
180
JJ J
I II
QQ.norm X
●
40
Judul 140 y
● ●
Daftar Isi
120
x
●
●● ●● ● ● ● ● ● ● ●● ●●● ● ● ● ● ●
140
y
●
60
40 45 50 55 60
●● ● ● ●
Frequency Density
180
●
UNEJ
0.000 0 5 0.010 10 0.020 20
Diagram Pencar (X,Y)
●
● ●● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●●
−2
−1
0
1
●
Hal. 42 dari 483
Cari Halaman
2
norm quantiles
Gambar 1.6: Contoh Gabungan Grafik dengan pembagian layar (1,2)dan (2,1)
Kembali
Layar Penuh
Tutup
Keluar
120 140 160 180
y
Diagram Pencar (X,Y)
UNEJ ●
●
● ● ●
●
● ● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ● ●
● ● ● ●
● ● ●
● ● ● ● ●
● ● ● ● ●
● ● ● ● ●
● ● ● ● ● ●
● ● ● ● ● ●
● ●
● ● ●
● ● ●
● ● ●
● ●
●
Daftar Isi
Judul
40
45
50
55
60
x
JJ J
140
160 y
180
40 45 50 55 60
x 120
I II
QQ.norm X
0.000 0.010 0.020
Density
Histogram Y
●
● ●● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●●
−2
−1
0
1
●
Hal. 43 dari 483
Cari Halaman
2
norm quantiles
Gambar 1.7: Contoh Gabungan Grafik dengan pembagian layar (2,1)dan (1,2)
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Tabel 1.6:
Aneka Rupa Fungsi R. Fungsi-fungsi ini bermanfaat untuk menangani file baik skrip maupun keluaran
No Tujuan 1 membaca tanpa membuka file 2 mengarahkan penulisan hasil ke file 3 mencetak hasil (variabel) 4 mencetak text 5 mencetak garis baru 6 mendefinisikan variabel, konstanta atau fungsi (berfungsi sebagai ”=” dalam matematika) 7 membaca tabel 8 mengambil bagian dari kesatuan(objek) 9 menulis komentar yang tidak dieksekusi R
Perintah R source("namafile") sink("nama file") print(variabel) cat("teks") cat("\n") nama <- definisi
Daftar Isi
Judul
JJ J
I II
Hal. 44 dari 483
Cari Halaman
read.table("namatabel") objek\$bagian # komentar
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 beberapa 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 pencarian 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 tersedia seperti layaknya mencari informasi di internet. help.search("kata kunci"). Jika kita ingin mendapat informasi dari suatu topik tertentu dapat juga kita masukkan suatu 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 dalam perintah berikut.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 45 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 menganalisis 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) predict.snr(assist) snr(assist) ssr(assist) aws(aws) awsh(aws)
breg(bayesm) betareg(betareg) ...
Nonlinear Non-parametric Regression Predict Method from a Semiparametric Nonlinear Regression Model Fit Fit A Semi-parametric Nonlinear Regression Model Fit a General Smoothing Spline Regression Model Local polynomial Adaptive Weights Smoothing for regression with additive errors Univariate local polynomial Adaptive Weights Smoothing for regression with heteroscedastic additive errors Posterior Draws from a Univariate Regression with Unit Error Variance Fitting beta regression models
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 46 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
spm(SemiPar) ridge(survival) survreg(survival) tree(tree) zicensor(zicounts)
Fit a SemiParametric regression Model Ridge regression Regression for a Parametric Survival Model Fit a Classification or Regression Tree Fitting classical and zero-inflated count regression models
UNEJ
Daftar Isi
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.
Judul
JJ J
I II
Hal. 47 dari 483
library(gee) example(gee) Cari Halaman
Dengan pilihan distribusi = Gamma dan fungsi link log diperoleh hasil Kembali
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" [1] 36.38889 -10.00000 -14.72222
Layar Penuh
Tutup
Keluar
GEE: GENERALIZED LINEAR MODELS FOR DEPENDENT DATA gee S-function, version 4.13 modified 98/01/27 (1998) UNEJ
Model: Link: Identity Variance to Mean Relation: Gaussian Correlation Structure: Exchangeable
Daftar Isi
Judul
Call: gee(formula = breaks ~ tension, id = wool, data = warpbreaks, corstr = "exchangeable") Summary of Residuals: Min 1Q -22.388889 -8.138889
Median -2.666667
3Q 6.333333
Max 33.611111
JJ J
I II
Hal. 48 dari 483
Cari Halaman
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: Number of Iterations: 1
141.1481
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 asumsiasumsi 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 analisis 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.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 49 dari 483
Cari Halaman
Kembali
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 Gambar 1.8).
Layar Penuh
Tutup
hist(x,freq=FALSE,ylim=c(0,0.45), Keluar
main="HISTOGRAM DENGAN KURVA DENSITAS") lines(density(x),lty=4) #densitas emperik lines(sort(x),dnorm(sort(x)))#densitas teoritik UNEJ
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)
Daftar Isi
Judul
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)
JJ J
I II
Hal. 50 dari 483
Cari Halaman
Kembali
Layar Penuh
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 disajikan dengan menyisipkan histogram dan qqplot di dalam diagram pencar
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")
UNEJ
Daftar Isi
Judul
JJ
J
I
Hal. 51 dari 483
Cari Halaman
Skrip berikut adalah untuk Layout 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))
II
Kembali
Layar Penuh
Tutup
Keluar
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")
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 52 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Tabel 1.7: Fungsi dan paket untuk menggambar grafik R Fungsi barplot() hist() boxplot() plot() pairs() abline()
Paket graphics graphics graphics graphics graphics graphics
contour() persp() rug() qq.plot() reg.line() scatterplot(), sp() spm(), scatterplot.matrix(),
graphics graphics graphics car car car car
Penggunaan menggambar grafik batang menggambar histogram menggambar boxplot menggambar grafik X-Y menggambar Matriks Diagram Pencar menggambar garis lurus yang diketahui konstanta dan gradiennya menggambar kontur menggambar boxplot menggambar sebaran data pada sumbu menggambar plot perbandingan kuantil menggambar garis regresi menggambar diagram pencar data diagram pencar beberapa pasang peubah
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 53 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
HISTOGRAM DENGAN KURVA DENSITAS
0.4
UNEJ
0.2
JJ J
0.1
Judul
Hal. 54 dari 483
I II
Cari Halaman
0.0
Density
0.3
Daftar Isi
−3
−2
−1
0
1
2
x
Gambar 1.8: Contoh Histogram dengan Kurva Densitas.Kurva langsung adalah densitas teoritis, kurva putus-putus adalah densitas emperik data
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
DIAGRAM PENCAR DENGAN RUG & BOXPLOT
180
●
● ● ●
Daftar Isi
●
170
●
150
160
●
●
140
Y
●
●
● ●
● ●
●
● ● ● ●
● ●
130
● ● ● ●
●
● ● ● ● ●
●
● ● ●
● ● ● ● ● ● ● ●
● ● ● ● ● ● ●
● ● ● ● ● ● ● ● ●
● ● ● ● ● ●
● ●
● ●
●
●
Judul
●
● ● ● ● ●
JJ J
I II
●
● ● ● ●
Hal. 55 dari 483
● ● ● ●
120
● ●
●
Cari Halaman 40
45
50
55
60
X
Kembali
Gambar 1.9: Contoh Diagram Pencar dengan rug dan boxplot(densitas data)
Layar Penuh
Tutup
Keluar
DIAGRAM BESAR DENGAN GRAFIK MINI
UNEJ
180
●
170
● ● ●
150
HistY
● ● ●
●
● ● ● ●
●
● ●
●
● ● ●
40
45
● ●
● ● ●
●
●
Judul
●
JJ J
I II
QQNorm
Hal. 56 dari 483
40
●
● ●
Daftar Isi
● ● ● ● ●
● ●
● ● ● ● ● ● ●
●
●
●
● ● ● ●
● ● ● ● ● ●
● ●
●
x
130
● ●
● ● ● ● ●
●
60
●
120
● ●
● ● ●
● ● ● ● ● ● ● ●
50
140
y
160
●
● ● ● ●
●
50 x
●● ● ● ●●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●● ● ● ● ●●●●
−2
−1
55
0
1
● ●
2
Cari Halaman
60
norm quantiles
Gambar 1.10: Contoh Gabungan Grafik Besar (Diagram Pencar) dengan Grafik Mini(Histogram dan QQPlot)
Kembali
Layar Penuh
Tutup
Keluar
Histogram Y
150
160
170
● ●● ● ● ● ● ● ● ●●● ● ● ● ● ●● ● ● ●● ● ● ●● ●● ●● ●● ●● ● ●● ●● ● ● ●● ● ●● ● ●● ● ●●
●
●● ●●
45
50
130 120
x
55
160
180
JJ J
I II
QQ.norm X
●
40
Judul 140 y
● ●
Daftar Isi
120
x
●
●● ●● ● ● ● ● ● ● ●● ●●● ● ● ● ● ●
140
y
●
60
40 45 50 55 60
●● ● ● ●
Frequency Density
180
●
UNEJ
0.000 0 5 0.010 10 0.020 20
Diagram Pencar (X,Y)
●
● ●● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●●
−2
−1
0
1
●
Hal. 57 dari 483
Cari Halaman
2
norm quantiles
Gambar 1.11: Contoh Gabungan Grafik dengan pembagian layar (1,2)dan (2,1)
Kembali
Layar Penuh
Tutup
Keluar
120 140 160 180
y
Diagram Pencar (X,Y)
UNEJ ●
●
● ● ●
●
● ● ● ●
● ● ●
● ● ● ●
● ● ●
● ● ● ●
● ● ● ●
● ● ●
● ● ● ● ●
● ● ● ● ●
● ● ● ● ●
● ● ● ● ● ●
● ● ● ● ● ●
● ●
● ● ●
● ● ●
● ● ●
● ●
●
Daftar Isi
Judul
40
45
50
55
60
x
JJ J
140
160 y
180
40 45 50 55 60
x 120
I II
QQ.norm X
0.000 0.010 0.020
Density
Histogram Y
●
● ●● ●●● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●●●●
−2
−1
0
1
●
Hal. 58 dari 483
Cari Halaman
2
norm quantiles
Gambar 1.12: Contoh Gabungan Grafik dengan pembagian layar (2,1)dan (1,2)
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 mengerjakan pekerjaan sejenis untuk keperluan jangka panjang dan bisa dimanfaatkan oleh orang lain yang tidak terlibat dalam pembuatan program tersebut. Oleh karena itu penulisan program ini harus memenuhi beberapa persyaratan. Naskah dari suatu pemrograman biasa disebut listing atau script dari program tersebut. Komponen- komponen pemrograman yang besar sebaiknya 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 perintah options ini.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 59 dari 483
Cari Halaman
Kembali
Layar Penuh
options(argumen1, argument2,...,.....); Beberapa pilihan yang dapat diatur adalah:
Tutup
Keluar
echo= T atau F, jika T berarti setiap ekspresi yang dieksekusi atau dievaluasi akan ditulis dulu (echoed) sebelum dievaluasi. digits= angka yang 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 didefinisikan pada bagian awal; fungsi1<-function(){} fungsi2<-function(){}
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 60 dari 483
3. Data dan Inisiasi. Bagian berikut skrip biasanya berisi pengambilan data, baik yang dilakukan secara simulasi maupun dengan menggunakan data riil yang dimpor dari berbagai program yang tersedia. Data riil harus diaktifkan atau diset sebelum dianalisis.
Cari Halaman
Kembali
Untuk data simulasi sebelum variabel dan konstanta bisa dipergunakan harus ditetapkan nilai- nilai awalnya. Nilai awal (inisiasi) dari variabelvariabel ini juga sebaiknya diberikan pada bagian tersendiri secara mengelompok untuk memudahkan pemeriksaan atau perubahan. 4. Program inti. Bagian ini memuat inti dari pemrograman (looping, perhitungan- perhitungan matematika/ statistika dan lain -lainnya).
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. UNEJ
Contoh 1.8. Contoh pemrograman yang lengkap beserta komponen-komponennya. Daftar Isi
# 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) write(t(x),file="x.byrows",ncol=ncol(x))
Judul
JJ J
I II
Hal. 61 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. UNEJ
1. Mengerjakan dengan benar apa yang mestinya dikerjakan. Untuk program yang dikonsumsi sendiri atau bagi pemula, syarat yang paling utama adalah program yang dibuat harus mengerjakan dan memberi hasil yang benar.
Daftar Isi
Judul
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 digunakan sudah benar/valid. Selain itu langkah yang lebih rinci berupa algoritma dari apa yang akan dikerjakan oleh komputer sudah siap sebelum 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 dapat dilacak dengan mudah sehingga kalau ada kesalahan juga mudah direvisi. Penelusuran atau revisi diharapkan tetap bisa dilakukan dengan mudah, meskipun suatu skrip program baru dibuka lagi setelah beberapa minggu, bulan, atau tahun. 4. Efektif dan efisien dalam memanfaatkan memori dan hardisk. Sebenarnya masalah efisiensi penggunaan memori dan kecepatan tidak ter-
JJ J
I II
Hal. 62 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 dipergunakan sebaiknya didefinisikan dalam bentuk fungsi R. Identifikasi fungsifungsi dan variabel yang akan diperlukan dan didefinisikan di bagian awal. Usahakan memanfaatkan sebanyak mungkin fungsi-fungsi internal yang sudah 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 perbaikan/revisi terutama jika program yang dibuat dibuka lagi setelah kurun waktu yang agak lama. Khusus untuk R, sedapat mungkin hindarkan atau kurangi penggunaan loop terutama loop for(){} yang tidak perlu, kecuali tujuannya memang untuk mendemonstrasikan kerja dari loop tersebut. Untuk R, lebih efisien
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 63 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 perhitungan secara vektor. Jika loop digunakan, pada tahap awal, gunakan kriteria 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.
UNEJ
Daftar Isi
Judul
Contoh 1.9. Kita ingin mengilustrasikan hubungan antara mean populasi dengan rata- rata sampel berdasarkan ukuran sampelnya. JJ J
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 pertama bisa diisi ukuran sampel dan kolom kedua berisi besarnya mean masing- masing sampel. Sebagai inisiasi, kita bisa mendefinisikan seluruh elemen matriks sama dengan 0. m<-matrix(0,10,2) 2. Membuat loop yang membuat pembangkitan data diulang mulai dari ukuran sampel 10 sampai dengan 100. Untuk ini ada beberapa alternatif.
I II
Hal. 64 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
(a) Dengan menggunakan indeks i = 1...10 ditentukan ukuran sampelnya adalah i × 10 for(i in 1:10){ n.sampel<-i*10 } (b) Dengan menggunakan batasan maksimum 100, sedangkan n.sampel mengalami 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 data Z ∼ N (0, 1) selanjutnya ditransformasi dengan X = σZ + µ. Pada bagian/tahap yang sama kita menghitung mean dari X 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, setelah loop berakhir, kita bisa mencetak grafiknya. Grafik sederhana dapat dibuat dengan menggunakan perintah
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 65 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
plot(m[,1],m[,2],type='l'). Keluar
m[,k] menunjukkan seluruh baris pada kolom k sedangkan m[i,] menunjukkan 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')
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 66 dari 483
Cari Halaman
Kembali
Layar Penuh
Jika petunjuk di atas diikuti dengan benar maka kita akan mendapat grafik seperti pada Gambar 1.13 pada halaman 68.
Tutup
Keluar
Contoh 1.10. Misalkan kita ingin membuat grafik dari persamaan matematika berbentuk persamaan parametriks seperti berikut. ( x = φ1 (t) (x, y) = 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 petunjuk yang telah diberikan pada bagian sebelumnya. Sebagaimana telah dibicarakan sebelumnya bahwa fungsi dalam R memiliki Parameter dengan struktur berikut: nama.fungsi<-function(parameter1, parameter2){
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 67 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
50.4
50.6
Mean Populasi dan Rata−rata Sampel
50.2 50.0
Daftar Isi
49.6
49.8
Mean−Rata−rata
UNEJ
49.4
Judul 0
1000
2000
3000
4000
5000
Ukuran Sampel
JJ J
I II
Gambar 1.13: Ilustrasi Simulasi Mean Populasi dan Rata-rata Sampel Hal. 68 dari 483
ekspresi1, .... fungsi1 .... hasil akhir (returned value)
Cari Halaman
Kembali
} Layar Penuh
Selain variabel atau konstanta yang didefinisikan secara internal (seperti pi =π = 3.1415 ...), maka semua variabel atau konstanta yang dipergunakan dalam definisi harus diperlakukan sebagai parameter. Dalam suatu fungsi kita dibenarkan memanggil fungsi yang lain. Di antara sekian banyak per-
Tutup
Keluar
0.5 −0.5
0.0
0.5
1.0
UNEJ 0.0
0.2
0.4
0.6
0.8
x^2
(cos(t),cos(t)/sin(t))
1.0
Daftar Isi
40
x
(cos(t),cos(t)*sin(t))
0
Judul
−40 −20
y/x
20
−0.4 −0.2 0.0 0.2 0.4
x*y
−1.0
−1.0 −0.5 0.0
y
y
−1.0 −0.5 0.0
0.5
1.0
(cos(t)^2,sin(t))
1.0
(cos(t),sin(t))
−1.0
−0.5
0.0
0.5
1.0
x
−1.0
−0.5
0.0
0.5
1.0
y
JJ J
I II
Gambar 1.14: Contoh Grafik Fungsi Parametrik Dimensi Dua Hal. 69 dari 483
hitungan yang dilakukan dalam suatu fungsi, maka harus ditegaskan hasil yang akan ditampilkan sebagai hasil akhir eksekusi fungsi. Hasil ini disebut sebagai returned value yang dilakukan dengan memanggil kembali hasil yang telah dihitung. Pada dasarnya fungsi R adalah translasi dari fungsi matematika 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)
Cari Halaman
Kembali
Layar Penuh
Tutup
Fungsi g ini, selain mempunyai parameter yang lebih banyak dari f juga 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. UNEJ
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.
Daftar Isi
Judul
Contoh 1.11. Fungsi untuk menghitung nilai fungsi kuadrat JJ J
f<-function(a,b,c,x){ a*x^2+b^x+c }
I II
Hal. 70 dari 483
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.
Cari Halaman
Contoh 1.12. Misalkan kita ingin membuat program/fungsi R dari rumus abc untuk menghitung akar-akar persamaan kuadrat f (x) = ax2 + bx + c = 0 untuk berbagai nilai a, b, c.
Layar Penuh
Kembali
Tutup
Berikut ini adalah langkah-langkah yang bisa ditempuh. Keluar
1. Yakinkan bahwa fungsi yang akan diprogramkan secara matematis sudah valid. Untuk fungsi yang merupakan rumus abc bentuk matematikanya adalah √ −b ± b2 − 4ac x12 = 2a Dalam format fungsi R, koefisien a, b, dan c diperlakukan sebagai parameter fungsi. Akar-akar x1 dan x2 didefinisikan sesuai dengan rumus 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 ditunjukkan oleh persamaan di atas. 2. Langkah selanjutnya adalah menerjemahkan rumus atau komponenkomponennya ke dalam bahasa R. Mengingat ada dua nilai yang dihasilkan yaitu x1 dan x2 , maka variabel x1 dan x2 harus dikombinasikan 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) }
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 71 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.4.4.
Mengevaluasi Nilai Fungsi
Setelah fungsi terbentuk kita bisa melakukan evaluasi. Kita bisa mengevaluasi fungsi tersebut untuk suatu nilai a, b, c tertentu. 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 Selanjutnya apabila akar-akar yang terjadi adalah imajiner, maka komentar R yang muncul adalah
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 72 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 penempatan 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)
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 73 dari 483
> 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 Untuk menjadikan program ini lebih komunikatif, maka kita perlu memberikan beberapa pesan yang lebih dipahami, kalau diskriminan dari rumus
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
abc tersebut kurang dari 0. Untuk itu, kita perlu menggunakan perintahperintah 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 tercatat 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.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 74 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
> fungsi.abc(1,0,-4) Keluar
x1 x2
[,1] 2 -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 Prinsip pemnulisan fungsi di atas dapat dikembangkan untuk penulisan fungsi yang lebih kompleks, misalnya untuk analisis data, parameter fungsi dapat berupa: nama data, formula, distribusi data, danlain-lainnya).
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 75 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 dapat dikemas menjadi suatu daftar atau list(). Program fungsi.abc di atas selanjutnya 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)
UNEJ
Daftar Isi
Judul
JJ J
Pemanggilan fungsi dengan evaluasi nilai tertentu akan menghasilkan learan yang dilabel sebagai akar dan det. $akar1 [1] 1 $akar2 [1] -3 $disk [1] 16 Jika pemanggilan disimpan dalam sustu objek, misalkan x, maka subkomponen x dapat diperiksa melalui names(x) dan print(x)
I II
Hal. 76 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
> x<-fungsi.abc(1,2,-3) > names(x) [1] "akar1" "akar2" "disk" > x$akar1 [1] 1 > x$akar2 [1] -3 > x$disk [1] 16
UNEJ
Daftar Isi
Judul
Dalam analisis data, keluaran fungsi dapat berupa: nilai hitung statistik (nilai t, z, F dan sejenisnya), kesalahan baku dari masing-masing statistik, nilai peluang p − values, dan informasi lain yang dianggapperlu. Semua keluaran dan hasil perhitungan yang dlakukan dapat dikemas dalam daftar keluaran (list()) denganmenggunakan identitas yang mudah untuk dipanggil. Pada contoh berikut kita membuat fungsi yang menghitung statistik sampel (rata-rata, deviasi baku, maksimum, minimum, median dan sejenisnya). Semua keluaran ini dapat dikemas dalam (list() keluaran. fs.stat.norm<-function(n,mu,sd){ x<-rnorm(n,mu,sd) mn<-min(x) mx<-max(x) vr<-var(x) md<-median(x) rt<-mean(x) rks<-list()
JJ
J
I
II
Hal. 77 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
rks<-list("n"=n,"rata-rata"=rt, "min"=mn, "maks"=mx, "variansi"=vr, "median"=md) } UNEJ
Eksekusi berikut menghasilkan > y<-fs.stat.norm(1000,50,5) > names(y) [1] "n" "rata-rata" "min" "median" >print(y) $n [1] 1000 $`rata-rata` [1] 50.08186 $min [1] 36.48708
Daftar Isi
"maks"
"variansi" Judul
JJ J
I II
Hal. 78 dari 483
Cari Halaman
Kembali
$maks [1] 65.65245 Layar Penuh
$variansi [1] 26.41415
Tutup
$median Keluar
[1] 50.21028
1.4.6.
Menghindarkan Loop
R lebih efisien bekerja menggunakan vektor dibandingkan dengan menggunakan loop if then seperti di diuraikan sebelumnya. Burn [4] mengilustrasikan bahwa dalam kondisi tertentu, penggunaan vektor dapat mempercepat eksekusi program secara dramatis. Ada dua kondisi utama yang perlu diperhatikan untuk mengganti loop dengan vektor, yaitu:(i) untuk kondisi dimana pada setiap putaran memiliki panjang elemen yang sama dapat dipergunakan matriks, (ii) untuk kondisi dimana pada setiap putaran memiliki panjang elemen yang tidak sama dapat dipergunakan fungsi apply
Penggunaan Matriks/Vektor Untuk loop yang sederhana, dapat digantikan dengan menggunakan matriks dengan cara
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 79 dari 483
Cari Halaman
1. mengemas indeks Kembali
dalam satu vektor (atau kolom suatu matriks) 2. melakukan operasi scara keseluruhan pada vektor tersebut. Berikut adalah adalah contoh loop yang diganti dengan penggunaan vektor/matriks. Misalkankita ingin membuat program untuk menghitung seperti ditunjukkan oleh tabel berikut
Layar Penuh
Tutup
Keluar
n 10 20 30 40 ... 1000
n2
n3
log n
UNEJ
Daftar Isi
Dengan menggunakan loop Judul
for (i in 1:100){ n<-i*10 t1<-n^2 t2<-n^3 t3<-log(n) } Dengan menggunakan matriks/vektor ind<-seq(1,100,1) n<-ind*10 t1<-n^2 t2<-n^3 t3<-log(n) Semakin banyak putaran loop semakin terasa beda kecepatan penggunaannya dengan matriks atau vektor.
JJ
J
I
II
Hal. 80 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Penggunaan Aplly Misalkan kita ingin mengilustrasikan hubungan antara besarnya (ukuran) sampel dengan kedekatan rata-rata dengan mean populasi. Berarti pada setiap putaran loop kita harus membangkitkan data dengan ukuran sampel yang berbeda, lalu menghitung rata-ratanya. Persoalan ini sulit kalau dikerjakan dengan menggunakan matriks atau vektor seperti diatas. R menyediakan fungsi keluarga apply, yaitu apply, tapply, lapply untuk mengerjakan loop yang tidak bisa dikerjakan pemggunakan matriks biasa. Sintaks penggunaan apply adalah apply(matriks,p,fungsi) Dengan
UNEJ
Daftar Isi
Judul
JJ J
I II
matriks adalah matriks yang akandijadikan sebagai acuan indeks dalam mengerjakan loop; Hal. 81 dari 483
p adalah posisi yang dijadikan sebagai acuan yaitu:1 jika berdasarkan baris dan 2 jika berdasarkan kolom;
Cari Halaman
fungsi adalah fungsi yang mengaturtugasyangharus dikerjakan pada setiap putaran Misalkan kita ingin menghitung rata-rata sampel dari berbagai sampel yang berasal dari populasi berdistribusi normal, N (50, 10), yang ukurannya semakin besar (10,20,30, ...,1000).
Kembali
Layar Penuh
Tutup
Keluar
n 10 20 30 40 ... 1000
µ = 50
σ 2 = 25
¯ X
Tugas yang harus dikerjakan komputer pada setiap putaran adalah:(i) membangkitkan data dan (ii) menghitung rata-ratanya. Tugas ini dapat didefinisikan dalam bentuk fungsi berikut: myfun<-function(x){ y<-rnorm(x)*sqrt(10)+50 mean(y) } Program lengkap dengan presentasi grafik yang menunjukkan hubungan antara ukuran sampel dengan rata-sata sampel adalah 1. Dengan loop n<-100 m<-matrix(0,n,2) for(i in 1:n){ n<-i*10 y<-rnorm(n)*sqrt(10)+50 m[i,1]<-n
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 82 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
m[i,2]<-mean(y) } plot(m[,1],m[,2],type='l',xlab='N',ylab='Rata-rata',main='Judul Grafik') 2. Denganapply n<-100 m<-matrix(0,n,1) m[,1]<-10*seq(1,n,1) myfun<-function(x){ y<-rnorm(x)*sqrt(10)+50 mean(y) } m2<-apply(m,1,myfun) plot(m,m2,type='l',xlab='N',ylab='Rata-rata',main='Judul Grafik') Tugas yang harus dikerjakan komputer pada setiap putaran dapat dibuat lebih kompleks misalnya menghitung ringkasan statistik sampel dan melaporkan banyaknya sampel
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 83 dari 483
Cari Halaman
Kembali
n<-10 m[,1]<-20*seq(1,n,1) Layar Penuh
myfun<-function(x){ y<-rnorm(x)*sqrt(10)+50 c(x,summary(y)) }
Tutup
Keluar
Keluaran yang dihasilkan adalah sebagai berikut [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] n 20.00 40.00 60.00 80.00 100.00 120.00 140.00 160.00 Min. 46.40 41.46 41.37 43.89 40.46 41.78 43.20 40.75 1st Qu. 48.36 48.42 47.98 47.74 48.55 46.87 47.86 47.97 Median 49.20 50.10 50.58 49.47 50.02 49.21 50.03 50.01 Mean 49.95 50.39 50.16 49.64 50.14 49.57 50.09 49.95 3rd Qu. 51.78 52.41 52.41 51.47 52.46 52.17 52.12 52.16 Max. 54.42 57.16 56.70 56.04 55.98 58.86 58.12 59.60 >
1.4.7.
Menghitung Akar-Akar Persamaan dengan Metode Numerik
Untuk persamaan selain persamaan linear dan kuadrat, biasanya penyelesaian ditempuh dengan menggunakan metode numerik. Salah satu metode numerik yang banyak dipergunakan dalan statistika adalah Metode NewtonRaphson. Dalam statistika kita sering berhubungan dengan fungsi-fungsi likelihood yang akan dicari maksimumnya. Mencari maksimum dari suatu fungsi pada dasarnya sama dengan menyelesaikan persamaan dari turunan pertamanya. Pada umumnya persamaan seperti ini, dalam statistika jarang mempunyai penyelesaian analitik, sehingga harus dicari dengan metode numerik. Penyelesaian numerik suatu persamaan dicari melalui proses iterasi yaitu proses mengerjakan sekelompok operasi hitung yang semakin lama menghasilkan nilai yang semakin dekat dengan hasil yang sebenarnya, ke-
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 84 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
cuali jika persamaan itu tidak memiliki jawaban. Secara umum bentuk iterasi Newton-Raphson yang dipergunakan untuk menyelesaikan persamaan f (x) = 0 adalah f (x) x1 = x 0 − 0 (1.1) f (x) dengan f 0 (x) = df /dx. Jika yang dicari adalah nilai x yang menyebabkan fungsi itu mencapai maksimum/ minimum, maka iterasi Newton-Raphson ini dimodifikasi menjadi f 0 (x) (1.2) x1 = x0 − 00 f (x) Hal ini sesuai dengan penjelasan sebelumnya bahwa mencari titik maksimum suatu fungsi sama halnya mencari penyelesaian dari fungsi turunan pertamanya. Contoh 1.13. Misalkan kita ingin mencari titik maksimum atau minimum dari fungsi: f (x) = sin(x) + x2 + 2x pada − 10 ≤ x ≤ 10.
(1.3)
Langkah-langkah untuk membuat program dalam mencari titik maksimum fungsi tersebut dengan menggunakan Metode Newton-Raphson adalah seperti berikut. 1. Menentukan hasil-hasil matematika. Dalam hal ini, fungsi yang diperlukan adalah turunan pertama dan kedua dari bagian persamaan
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 85 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
yang dicari akar-akarnya. Dengan menggunakan berbagai tehnik dalam diferensial integral diperoleh hasil sebagai berikut. Fungsi turunan pertama dan kedua: f 0 (x) = cos(x) + 2x + 2 f 00 (x) = − sin(x) + 2
UNEJ
(1.4) (1.5) Daftar Isi
2. Menulis skrip fungsi. Skrip lengkap fungsi untuk menghitung titik minimum adalah: d<-2 eps<-0.01 x0<-0 f.f1<-function(x){ cos(x)+2*x+2} f.f2<-function(x){ -sin(x)+2} it<-0 cat("\n Iterasi: ") while(d>eps){ it<-it+1 x1<-x0-f.f1(x0)/f.f2(x0) d<-abs(x1-x0) x0<-x1 cat(" ",it)}
Judul
JJ J
I II
Hal. 86 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
print(x0) x<-seq(-2,1,0.1) y<-sin(x)+x^2+2*x f1<-cos(x)+2*x+2 f2<--sin(x)+2 plot(x,y,type='l',main='Grafik Fungsi dan Turunannya',xlab='X', ylab='Y') lines(x,f1,lty=2) lines(x,f2,lty=3) lines(x,0*x)
UNEJ
Daftar Isi
Judul
JJ J
ya<-seq(-2,4,0.1) xa<-0*ya+x0 lines(xa,ya,lty=3)
Secara geometris dapat diilustrasikan/diperiksa kebenaran antara fungsi, turunannya dan nilai maksimum atau minimum dengan memeriksa grafiknya. Ilustrasi pada Gambar 1.15 halaman 88 menunjukkan hubungan sebagai berikut: saat f (x) mencapai nilai minimum/maksimum, f 0 (x) = 0; nilai merupakan minimum jika f 00 (x) > 0, sebaliknya merupakan maksimum jika f 00 (x) < 0.
I II
Hal. 87 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
4
Grafik Fungsi dan Turunannya
3
f’’(x)
2
UNEJ
1
Daftar Isi
0
Y
f’(x)
−1
Judul
−2
f(x)
−2.0
−1.5
−1.0
−0.5
0.0
0.5
1.0
JJ J
I II
X
Gambar 1.15: Ilustrasi Maksimum/ Minimum dengan Newton Raphson. Contoh 1.14. Buat program untuk mencari titik maksimum/ minimum dari persamaan dengan menggunakan metode Newton-Raphson. 2 x f (x) = x exp − 10
Hal. 88 dari 483
Cari Halaman
Kembali
Layar Penuh
Dengan mengikuti langkah-langkah pemrograman sebelumnya, kita akan peroleh hasil dari tiap-tiap tahap sebagai berikut.
Tutup
Keluar
1. Fungsi-fungsi turunan 2 2x2 x f (x) = − + 1 exp − 10 10 3 2 4x 6x x f 00 (x) = − exp − 100 10 10 0
(1.6) UNEJ
(1.7) Daftar Isi
2. Dalam fungsi R fungsi turunan tersebut dapat ditulis sebagai berikut. Judul
f.tur.1<-function(x){ d1<-(-2*x^2/10+1)*exp(-x^2/10) d1 } f.tur.2<-function(x){ d2<-(4*x^3/100-6*x/10)*exp(-x^2/10) d2 }
JJ J
I II
Hal. 89 dari 483
Cari Halaman
Kembali
3. Menentukan nilai awal. Nilai awal dari x dapat ditentukan, misalnya x0 = 5 atau x0 = −5. Sedangkan ∆x = 10 (delta.x) dan (crit) sebagai kriterium konvergensi dapat dipilih sekecil mungkin sesuai keparluan, misalnya 0.001. Sebelum program berjalan sebagaimana mestinya nilai dibuat agak besar, misalnya 0.5, sehingga dalam pengujian program tidak memakan waktu terlalu lama.
Layar Penuh
Tutup
Keluar
4. Bagian utama. Bagian utama dari program ini berisi: # looping no.it<-0 cat("x awal adalah ",x0,"\n") while(delta.x>crit){ x1<-x0-f.tur.1(x0)/f.tur.2(x0) delta.x<-abs(x1-x0) x0<-x1 no.it<-noit+1 }
UNEJ
Daftar Isi
Judul
no.it hanyalah konter/pencacah untuk mendeteksi jumlah iterasi yang diperlukan. Pada bagian penutup kita dapat memerintahkan komputer untuk mencetak hasil. cat("Fungsi akan memperoleh nilai max/min pada titik x=",x1,"\n") cat("Tingkat ketelitian adalah ",delta.x, "dan banyaknya iterasi adalah ",no.it,"\n")
JJ J
I II
Hal. 90 dari 483
Cari Halaman
Kembali
Selanjutnya hasil yang diperoleh dari mengeksekusi program yang dibuat dengan berbagai titik awal adalah x awal = -4 Fungsi memperoleh nilai max/min pada titik x=-2.2444951635172
Layar Penuh
Tutup
Keluar
Tingkat ketelitian adalah 0.000934621250368472 Banyaknya iterasi adalah 53 x awal = 3 Fungsi akan memperoleh nilai max/min pada titik x=2.24448623841328 Tingkat ketelitian adalah 0.00093363323004958 Banyaknya iterasi adalah 44
UNEJ
Daftar Isi
Judul
Hasil di atas menunjukkan bahwa fungsi yang kita evaluasi memiliki dua titik dimana dia mencapai maksimum/ minimum. Ilustrasi akan lebih jelas pada saat kita menampilkan grafik fungsi tersebut. Untuk menghitung akar-akar persamaan fungsi multivariabel (fungsi dua variabel atau lebih) prinsip yang kita gunakan sama, hanya kita bekerja dalam operasi vektor/ matriks (v), vektor/matriks turunan pertama D dan turunan kedua dari fungsi tersebut adalah matriks Hessiannya (H) dan bentuk iterasi Newton-Raphsonnya menjadi
JJ J
I II
Hal. 91 dari 483
Cari Halaman
Kembali
v1 = v0 − H
−1
D
(1.8) Layar Penuh
Tutup
Keluar
atau lebih lengkapnya 2 ∂ f v1 v1 2 v2 v2 ∂v. 1 . .. = .. − 2. . . ∂ f ∂vp ∂v1 vp 1 vp 0
∂2f ∂v1 ∂v2
.. .
∂2f ∂vp ∂v2
··· ...
∂2f ∂v1 ∂vp
···
∂2f ∂vp2
.. .
∂f ∂v1 ∂f ∂v .2 .. 0
∂f ∂vp
(1.9) 0
UNEJ
Daftar Isi
Misalkan kita ingin mencari titik maksimum atau minimum dari fungsi f (x, y) = −x2 + 2xy + 2x − 4y − 3y 2 ,
Judul
maka langkah yang harus kita tempuh adalah mencari fungsi turunan pertama dan kedua terhadap x dan y dari fungsi di atas. Hasil matematikanya adalah sebagai berikut.
JJ J
Hasil-hasil matematika
Hal. 92 dari 483
∂f ∂x ∂f ∂y ∂ 2f ∂x2 ∂ 2f ∂y 2 ∂ 2f ∂x∂y
= 2x + 2y + 2
(1.10)
= 2x − 4 − 6y
(1.11)
I II
Cari Halaman
Kembali
=2
(1.12)
= −6
(1.13)
Layar Penuh
=
∂ 2f =2 ∂y∂x
Tutup
(1.14) Keluar
Fungsi-fungsi R Dalam bahasa R fungsi dapat ditulis sebagai berikut. fmv<-function(x,y){ -x^2+2xy+2x-4y-3y^2} df.dx<-function(x,y){ -2*x+2*y+2} df.dy<-function(x,y){ 2*x-6*y-4} Fungsi f (x, y) didefinisikan dalam R bermanfaat jika dibuat ilustrasi grafiknya (3 dimensi) baik dalam bentuk perspektif maupun konturnya. Hal ini sangat bermanfaat untuk mengilustrasikan adanya maksimum/minimum secara grafis atau numerik. Untuk turunan ke dua karena hanya berupa konstanta, maka matriksnya langsung dapat didefinisikan 2 2 H= 2 −6 Dalam bahasa R dapat didefinisikan dengan
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 93 dari 483
Cari Halaman
H<-matrix(c(-2,2,2,-6),2,2) Kembali
Inisiasi. Nilai awal variabel yang perlu ditetapkan terlebih dahulu adalah nilai awal v0 , matriks D, kriteria konvergensi. v0<-matrix(0,2,1) D<-matrix(0,2,1) crit<-0.001 delta<-10
Layar Penuh
Tutup
Keluar
Program inti. Bagian ini terdiri atas loop Newton-Raphson dalam dua variabel. while(delta>crit){ D[1,1]<-df.dx(x,y) D[2,1]<-df.dy(x,y) v1<-v0-solve(H)%*%D delta<-max(abs(v0-v1)) v0<-v1 it<-it+1 cat("It ",it,"V=",v1,"delta=",delta,"\n") } print(v1) Hasil yang diperoleh adalah It 1 v = 0.499999999999998 -0.5; delta= 10.5 It 2 v = 0.5 -0.5; delta = 1.7763568394003e-015 > print(v1) [,1] [1,] 0.5 [2,] -0.5
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 94 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Jadi, program yang dibuat konvergen dalam dua iterasi. Dari beberapa contoh tadi jelas bagi kita bahwa pada dasarnya fungsi R adalah fungsi matematika yang didefinisikan dengan menggunakan bahasa R . Ini menunjukkan bahwa alur logika pemrograman dengan R secara alamiah sejalan dengan alur logika matematika. Contoh 1.15. Misalkan kita ingin mendefinisikan fungsi untuk menghitung koefisien regresi dari regresi linier normal sederhana dengan satu peubah X yang rumusnya langsungnya (tanpa iterasi Newton-Raphson) diberikan sebagai berikut (Teori untuk metode ini diberikan pada Bab 6 khususnya persamaan (6.29) halaman 255). Nilai dari fungsi yang bergantung pada input dan besarannya dapat berubah-ubah disebut Parameter. Misalnya pada rumus ABC, a, b dan c disebut parameter fungsi rumus ABC. Untuk ˆ dapat dilakukan dengan mengestimasi parameter regresi, yaitu menghitung β memperhatikan rumus matematikanya seperti ˆ = (XT X)−1 XT Y β dengan
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 95 dari 483
Cari Halaman
Kembali
−1
ˆ =σ Var(β) ˆ 2 (XT X)
dan σ ˆ2 =
ˆ T (Y − Xβ) ˆ (Y − Xβ) n−2
Fungsi ini bergantung pada dua matrix yaitu X, Y, sehingga keduanya menjadi parameter fungsi pada R. Fungsi yang dapat dibuat, misalnya diberi nama reg.lin.sdrhn yang dapat didefinisikan seperti berikut ini.
Layar Penuh
Tutup
Keluar
reg.lin.sdrhn<-function(Y,X){ n<-length(Y) Xmat<-matrix(1,n,2) Xmat[,2]<-X UNEJ bhat<-solve(t(Xmat)%*%Xmat)%*%t(Xmat)%*%Y se<-(t(Y-Xmat%*%bhat)%*%(Y-Xmat%*%bhat)/{n-2}) Daftar Isi se<-as.numeric(se) print(se) Judul vse<-se*solve(t(Xmat)%*%Xmat) bse<-sqrt(diag(vse)) t0<-bhat/bse JJ J I II pv<-2*pt(-abs(t0),n-2) sol<-cbind(bhat, bse, t0, pv) Hal. 96 dari 483 cat("\nKoef \t\t Se\t\t t0 \t\t Nilai-p\n") for(i in 1:2){ cat(sol[i,1],"\t",sol[i,2],"\t",sol[i,3],"\t",sol[i,4],"\n")Cari Halaman } return(sol) Kembali } Selanjutnya fungsi tersebut dieksekusi dan dicoba dengan data simulasi. Hasil yang diperoleh dapat dibandingkan dengan hasil menggunakan fungsi internal lm(). Tentu saja kita masih dapat membuat program kita lebih komunikatif dengan memberi informasi lainnya tentang analisis yang dilakukan.
Layar Penuh
Tutup
Keluar
X<-rnorm(30,50,5) Y<-2*X+5+rnorm(30) reg.lin.sdrhn(Y,X) print(summary(lm(Y~X)))
UNEJ
Daftar Isi
Hasil yang diperoleh adalah Koef 6.726804 1.961076
Se 1.824857 0.0371255
t0 3.686208 52.82289
Nilai-p 0.0009681101 1.370852e-29
Judul
JJ J
Dengan lm() Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 6.72680 1.82486 3.686 0.000968 *** x 1.96108 0.03713 52.823 < 2e-16 ***
I II
Hal. 97 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.5.
Mengemas Fungsi Menjadi Paket
Berbagai fungsi yang terkait dengan permasalahan tertentu dapat dikemas manjadi suatu paket. Paket yang dihasilkan selanjutnya dapat dipublikasikan dan dimanfaatkan orang lain. R sesungguhnya telah menyediakan panduan khhusus untuk pengembangan paket. Ada beberapa komponen penting yang harus disiapkan dalam menyusun paket yaitu: 1. Fungsi R. Program yang memuat definisi fungsi-fungsi yang ingin dijadikan paket. Cara mendefinisikan fungsi secara garis besar telah dibahas pada bagian sebelumnya. 2. Panduan. Bagian ini memuat panduan atau manual dari fungsifungsi penting yang akan dijadikan paket. Pedoman penulisan panduan atau manual paket dapat dilihat pada dokumentasi setiap versi R yang berjudul Writing R Extension. Panduan yang ada seara khusus membahas pembuatan pedoman dengan menggunakan pengolah kata LATEX. Sesungguhnya langkah langkah pengemasan paket juga dapat dilihat pada dokumen yang sama, namun bagi pemula hal tersebut relatif sulit diikuti. Schnute [48] dan Schnute [49] menguraikan langkah-langkah yang lebih rinci dan sederhana untuk membuat paket. Langkah-langkah yang perlu dibuat dapat dibedakan menjadi dua bagian besar yaitu: 1. Instalasi program-program yang diperlukan. Ada beberapa program yang diperlukan untuk membuat paket R yaitu Program R itu sendiri,
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 98 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Program rtool, Perl dan MinGW untuk membuat struktur paket, Program LATEX(misalnya MikTex 2.5 dengan Editornya WinEdt) untuk memroses dokumentasi dan panduan, Program HTML Help untuk membuat dokumentasi dalam bentu HTML, 2. Pemrosesan Paket Jika piranti lunak yang dibutuhkan sudah berfungsi dengan baik, selanjutnya langkah untuk membuat paket adalah sebagai berikut. (a) Buat direktori dengan nama sesuai dengan nama paket yang akan dibuat. Pada direktori ini ditempatkan file DESCRIPTION yang mengatur nama, serta versi paket. Selain itu pada direktori ini juga ditempatkan file-file bat (eksekusi) yang dibuat oleh Schnute [48] dan [49] yang secara semi otomatis nanti melakukan pengemasan paket. (b) Dalam direktori ini selanjutnya dibuat subdirektori yaitu subdirekori man (tempat menyimpan file-file panduan, dan subdirektori R (tempat menyimpam file-file R), termasuk file zzz.r (c) Selanjutnya dilakukan langkah pengemasan yang meliputi pengecekan paket, pembuatan, dan pengepakan paket. Untuk lengkapnya dapat dilihat pada Schnute[48] dan Schnute[49].
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 99 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.6.
Mengemas Paket
Program-program yang telah dibuat dapat dikemas menjadi suatu paket yang dapat didistribustikan dan diinstal sehingga dapat dimanfaatkan orang lain. Untuk dapat didistribusikan, program harus dilengkapi dengan: 1. definisi fungsi-fungsi yang dibuat; 2. petunjuk pemakaian dan dokumentasi baik yang bersifat umum maupun yang bersifat kusus dari masing-masing subprogram; 3. cara mengeksekusi program;
UNEJ
Daftar Isi
Judul
JJ J
I II
4. contoh-contoh pemakaian dari masing-masing subprogram. Hal. 100 dari 483
1.6.1.
Menyiapkan Fungsi-fungsi Terkait
Fungsi-fungsi yang didefinisikan dapat dikumpulkan dalam satu file atau dalam beberapa file terpisah tergantung pada banyaknya dan kompleksnya fungsi. File dapat diberi nama sesuai fungsi-fungsi yang dimuatnya. Pengemasan seperti ini akan lebih membantu orang lain yang ingin memanfaatkan atau mengembangkan lebih lanjut fungsi-fungsi yang kita buat.
1.6.2.
Menyiapkan Dokumen Bantuan
Cari Halaman
Kembali
Layar Penuh
Tutup
Dokumen bantuan R harus mengikuti format berikut. Keluar
Header yang berisi judul atau nama paket (misalnya glm). Bagian ini terdiri atas Nama/name dan alias yang berguna untuk memanggil bantuan paket Title/Judul Dokumen (misalnya Fitting Generalied Linear Models). Nama yang dipakai harus unik tidak boleh tumpang tindih dengan nama paket yang lain. Selain nama juga perlu diberi alias agar fungsi dapat dipanggil dengan berbagai nama. \alias{topik}. Bagian ini berguna membantu R membuat indeks, selain itu melalui topik ini paket kita dapat dilacak, karena itu berikan lebih dari satu topik tertait. Misalnya untuk pembangkitan data acak normal, berikut adalah topik, topik yang semuanya dapat dimasukkan. \name{glm} \alias{glz} \alias{mlt}
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 101 dari 483
Cari Halaman
Description , yaitu menguraikan deskripsi (menjelaskan fungsi, penggunaan dan lain-lain) paket. Usage , menjelaskan cara penggunaan (cara memanggil paket) paket. Misalnya glm(....,.....,....) Arguments , menjelaskan cara mengisi parameter atau komponen dari fungsi yang diuraikan pada bagian usage dia atas. Misalnya pada glm(), ada komponen yang wajib diisi yaitu formula, family dan data.
Kembali
Layar Penuh
Tutup
Keluar
Details , menguraikan lebih rinci cara penggunaan atau pemanggilan fungsi terkait dengan usage dan arguments yang telah diuraikan. Values , menguraikan keluaran yang dihasilkan oleh program atau paket yang dijalankan. Misalnya untuk glm(), keluaran yang dihasilkan berupa koefisien regresi berserta komponen lainnya berupa sisa, nilai pengepasan dan sebagainya. [Authors], memuat nama-nama pengembang program atau paket, termasuk alamat emailnya. Referensi , memuat daftar oustaka terkait dengan pakety yang dikembangkan. See Also , menguraikan paket atau sub paket (fungsi-fungsi R) yang terkait. Gunakan \code{\link{...}} untuk menghasilkan dokumen yang secara otomatis link dengan bagian yang ditunjuk.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 102 dari 483
Examples , berisi contoh lengkap penggunaan paket. Bagian ini berisi skrip contoh yang minimal dapat dicopy-paste ke Console R, dan dapat juga dieksekusi dengan memanggil example(namaf ungsi). Hal yang perlu diperhatikan dalam membuat dokumen adalah ukuran dokumen jangan terlalu besar. Jika terlalu besar, sebaiknya fungsi dan dokumentasinya dipecah menjadi beberapa fungsi dan dokumen yang lebih kecil sehingga lebih mudah difahami.
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.6.3.
Menyiapkan Program Pendukung
Untuk lebih memperlancar pengemasan paket, program-program komputer berikut wajib tersedia dalam komputer tem[at kita mengemas paket, yaitu: UNEJ
Program R Usahakan instal programm R versi terbaru sehingga pendistribusian paket yang kita buat tidak mengalami kendala jika dijalankan orang lain pada program R dengan versi terbaru. R versi terbaru dapat diunduh dari di http://www.cran.r-project . org dengan memilih situs mirror terdekat. RTools versi windows Paket program ini dapat diunduh dari http://www.murdochsutherland.com/Rtools/
Daftar Isi
Judul
JJ J
I II
Program Perl yang dapat diunduh dari http://www.activestate.com/Products/ActivePerl/Download.h Hal. 103 dari 483 MinGW , program minimum versi GNU untuk mengkompilasi C untuk Windows. Program ini dapat diunduh dar situs http://www.mingw.org/ MikTex dan WinEdt untuk mengkompilasi dokumen bantuan. Kedua program ini masing-masing dapat diunduh dari http://miketex.org/ dan http://www.winedt.com/
Cari Halaman
Kembali
Layar Penuh
HTML help Workshop untuk mengkompilasi bantuan dokumen format html. Program ini dapat diunduh dari http://www.microsoft.com/office/ork/xp/appndx/appa06.ht Tutup (Informasi lebih detail dapat dilihat pada Schnute et. al, 2006). Keluar
1.6.4.
Langkah Mengemas Paket
Sebelum memulai mengemas paket terlebih dahulu siapkan direktori tempat kita menyimpan paket-paket yang kita kemas, misalnya D:\PaketBaru. Selanjutnya buka paket PBStry_x.xx.tar.gz dan salin/copy file-file berikut (check.bat, build.bat, definePaths.bat, unpack.bat, makePDF.bat) ke direktori ini. Selanjutnya untuk mengemas paket ”PaketA” lakukan langkah berikut: 1. Periksa paths program-program pengemas pada file definePaths.bat dan sesuaikan dengan letak path yang sesungguhnya, misalnya D:\util dengan C:\Program Files atau yang lain sesuai tempat program tersebut diinstal set set set set set set
R_PATH=d:\util\R-2.5.0\bin TOOLS_PATH=d:\Util\Rtools\bin PERL_PATH=d:\Util\Perl\bin MINGW_PATH=d:\Util\MinGW\bin TEX_PATH=c:\Program Files\MikTeX 2.5\miktex\bin HTMLHELP_PATH=d:\Util\HTMLHW
2. Buat subdirektori D:\PaketBaru\A dan beberapa subditerktori bertikut: D:\PaketBaru\PaketA\man D:\PaketBaru\PaketA\R D:\PaketBaru\PaketA\inst
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 104 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
D:\PaketBaru\PaketA\data Letakkan atau salin file zzz.R dari verb—...Rke ...R— pada D:\PaketBaru\PaketA\R 3. Buat file ascii D:\PaketBaru\PaketA\DESCRIPTION (tanpa ekstensi) yang berisi informasi berikut Package: Nama_Paket (Paket A) Version: x.x.x (format 3 digit) Date: Tanggal penulisan paket Title: Judul Paket Author: Nama
Maintainer: Nama Depends: R (>= 2.4.0) Description:Deskripsisingkat. License: GPL version 2 or newer Packaged: tanggal dikemas; Pengemas Nama paket yang ditulis dalam file DESCRIPTION harus sama persis dengan nama direktori tempat menyimpan file-file yang akan dikemas. 4. Letakkan file-file fungsi R pada ...\PaketA\R\ dan file-file dokumentasi bantuan pada ...\PaketA\man\ 5. Selanjutnya secara berurutan dipanggil
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 105 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
checkpath nama_paket build nama_paket makePDF nama_paket UNEJ
1.6.5.
Aplikasi R untuk Model Statistika/ Analisis Regresi
Analisis regresi menggunakan R tersebar dalam banyak paket, diantaranya ada yang telah terintegrasi dengan paket minimal R ada pula yang harus diinstal dan dipanggil secara khusus. Berikut adalah fungsi-fungsi yang dipakai menganalisis model linier beserta paket yang memuatnya. Fungsi dan paket Fungsi Paket lm() stats
untuk model statistika dalam R Penggunaan regresi/model linier dengan respon berdistribusi Normal. Paket ini telah terintegrasi dengan R dan sudah dapat dimanfaatkan melalui menu RCommander
Daftar Isi
Judul
JJ J
I II
Hal. 106 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
glm() stats
lme() lme4 *)
...
lmm *)
regresi/model linier dengan respon berdistribusi Keluarga Eksponensial termasuk distribusi Normal denganrespon masih saling bebas. Paket ini telah terintegrasi dengan R dan sudah dapat dimanfaatkan melalui menu RCommander regresi/ model liner tercampur baik untuk respon berdistribusi keluarga eksponensial (termasuk distribusi Normal) Berbagai fungsi untuk menangani data dengan respon berdistribusi normal tetapi tidak saling bebas dengan pendekatan Bayesian dan Markov Chained Monte Carlo
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 107 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
glmmML() glmmML *) lrm() Design *)
gee() gee *)
geese() geepack *)
gam()
gam, mgcv
nls()
stats
regresi dengan respon berdistribusi Keluarga Eksponensial dengan pendekatan Likelihood Maksimum Khusus untuk data dengan respon berdistribusi Binomial dan fungsi hubungan logit regresi dengan dengan respon berdistribusi Keluarga Eksponensial dan tidak saling bebas regresi linier dengan dengan respon berdistribusi Keluarga Eksponensial dan tidak saling bebas. Hampir sama dengan gee(), tetapi memiliki alternatif pemodelan yang lebih luwes termasuk pemodelan koragamnya regresi atau model statistika dengan hubungan yang lebih luas termasuk noonlinier dan semiparamerik estimasi model nonlinier dengan menggunakan kuadrat terkecil nonlinier terbobot
*) menunjukkan bahwa paket harus diinstal secara khusus
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 108 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.6.6.
RCommnder RGUI untuk analisis dasar
Ada RGUI yang disebut RCommander yang telah menyediakan beberapa analisis regresi mendasar melalui menu grafis, diantaranya: UNEJ
1. regresi linier klasik sederhana (satu peubah bebas dan satu peubah penjelas);
Daftar Isi
2. model linier klasik dengan beberapa peubah poenjelas termasuk peubah kualitatif;
Judul
3. GLM (model linier terampat/ tergeneralisir). JJ J
Selain kemampuan analisis regresi tersebut di atas, manfaat penggunaan RComander adalah memudahkan pengguna mengimpor data dari berbagaiformat termasuk format excel yang banyak dipakai kalangan peneliti di Indonesia. Penjelasan rinci RCommander dapat dilihat pada Tirta [59].
I II
Hal. 109 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
1.7.
Bacaan Lebih lanjut
Bagi yang ingin menekuni lebih lanjut aplikasi statistika dari R dengan menggunakan pendekatan CLI dapat membaca referensi berikut di antaranya adalah referensi untuk S-Plus yang dapat diaplikasikan pada R: Tirta [58], Venables & Ripley[63], Everitt[12], Marazzi[33], Chamber & Hastie[5]. Selain itu banyak terdapat dokumentasi elektronik aplikasi R dalam analsisis statistika yang dapat dilihat pada situs Project-R, diantaranya adalah Faraway [14] dengan aplikasi analisis regresi, Vezalini [64] untuk analisis statistika dasar, dan Zoonekyn [75] yang membahas dengan cukup komprehensif pemrograman R maupun aplikasinya dalam statistika. Referensi yang lebih rinci terkait cara penulisan fungsi dan pengemasan paket dapat dilihat pada Tirta [59] dan [60].
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 110 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Isi
Bagian I Prasyarat Distribusi Keluarga Eksponensial
Judul
JJ J
I II
Hal. 111 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Isi
Bagian II Model-model Statistika Modern
Judul
JJ J
I II
Hal. 299 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Glosarium
Daftar Isi
Judul
A alpha(α) Taraf signifikansi = peluang kesalahan tipe I, peluang secara keliru menolak hipotesis null yang benar.
JJ J
I II
Hal. 455 dari 483
B Cari Halaman
Boxplot
tampilah grafis dari kuantil data yang dinyatakan dalam bentuk kotak. Pada Boxplot digambarkan posisi median (Q2), kuantil 1(Q1) dan kuantil 3(Q3). Boxplot juga memberi gambaran ada tidaknya pencilan (outlier).
Kembali
Layar Penuh
D derajat kebebasan Angka yang menunjukkan banyaknya informasi yang saling bebas setelah mengestimasi beberapa parameter.
Tutup
Keluar
diagram jalur adalah representasi visual dari model lengkap dengan hubungan diantara konstruknya; hubungan kebergantungan digambarkan dengan tanda panah, pangkal panah merupakan variabel bebas dan ujung panah menunjukkan variabel terikat/respon. Diagram Pencar (Scattergram) Diagram pencar adalah representasi grafik dari distribusi dua peubah acak yang disajikan dalam bentuk titik-titik dengan koordinat ditentukan oleh nilai observasi pasangan peubah acak tadi. distribusi diskrit sebaran dari peubah acak yang memiliki fungsi kepadatan dengan daerah asal (domain) berupa himpunan titik-titik yang berhingga dan tercacah (countable/ denumerable). distribusi kontinu sebaran dari peubah acak yang memiliki fungsi kepadatan dengan daerah asal (domain), tak berhingga, berupa interval (misalnya seluruh bilangan real, bilangan real nonnegatif, a < x < b.). distribusi Normal Baku Distribusi Normal dengan nilai-tengah 0 dan ragam 1.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 456 dari 483
Cari Halaman
Kembali
Layar Penuh
E estimasi interval/selang keyakinan Interval/Selang Keyakinan adalah selang yang diyakini memuat nilai parameter populasi dengan tingkat
Tutup
Keluar
peluang tertentu. Tingkat peluang yang banyak dipakai adalah 95% dan 99%.
H hipotesis alternatif Disebut juga hipotesis kerja yaitu hipotesis yang dirumuskan sesuai dengan hasil kajjian teori yang melandasi penelitian.
UNEJ
Daftar Isi
Judul
hipotesis nul Disebut juga hipotesis nihil, yaitu hipotesis yang diuji pada prosedur statistika, yang menyatakan kenetralan (tidak ada beda signifikan, tidak ada hubungan signifikan dan sebagainya). histogram Grafik yang menggunakan segiempat sebagai representasi frekuensi atau peluang dari observasi pada setiap interval.
K Keluarga Eksponensial Keluarga Eksponensial adalah distribusi yang merupakan kesatuan (unifikasi) distribusi-distribusi penting yang banyak dipakai seperti antara lain Normal, Gamma, Binomial, Poisson dalam satu bentuk distribusi. Kernel fungsi kepadatan adalah bagian inti dari fungsi kepadatan yang menunjukkan bentuk mathematika dari fungsi kepadatan diluar bagian konstantanya.
JJ J
I II
Hal. 457 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Konstanta penormal (Normalizing constant), adalah bagian konstanta dari fungsi kepadatan yang meyakinkan agar luasnya sama dengan satu (100%). konstruk (Construct), adalah konsep tak teramati/ laten yang dapat didefinisikan secara konseptual, tetapi tidak dapat diukur langsung dengan satu pengukuran dan harus diukur/didekati secara tidak langsung melalui beberapa indikator. konstruk eksogeneous adalah konstruk yang berfungsi sebagai variabel bebas dan dibangun oleh indikator-indikator berupa variabel bebas. konstruk endogeneous adalah konstruk yang berfungsi sebagai variabel terikat yang dibangun oleh indikator-indikator berupa variabel terikat.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 458 dari 483
Cari Halaman
M Matriks Diagram Pencar Matriks Diagram Pencar (Scatter Plot Matrix) adalah matriks yang menggambarkan diagram pencar lebih dari dua variabel. Pada diagonal biasanya disajikan densitas, histogram atau diagram kuantil, sedangkan pada off diagonal disajikan diagram pencar masing-masing pasangan variabel.
Kembali
Layar Penuh
Tutup
Keluar
N Nilai p
Termasuk peluang kesalahan tipe I, yaitu peluang yang menunjukkan bahwa hasil yang dicapai merupakan hal yang kebetulan jika ternyata Ho benar.
UNEJ
Daftar Isi
P Parameter Parameter (statistika) adalah ukuran deskriptif numerik dari populasi. Parameter Parameter (fungsi pada R) adalah bagian dari fungsi yang nilainya dapat ditentukan pada saat pemanggilan fungsi tersebut. Misalnya dalam rumus abc ada tiga parameter yang diperlukan (a,b, dan c). Populasi Populasi adalah kumpulan seluruh data yang menjadi perhatian dalam penelitian. Jadi populasi adalah seluruh subjek penelitian beserta karakteristiknya yang menjadi kepentingan.
Judul
JJ J
I II
Hal. 459 dari 483
Cari Halaman
Kembali
Q Layar Penuh
QQPlot
QQplot atau Plot Kuantil adalah diagram yang menggambarkan hubungan antara quantil teoritis suatu distribusi dengan kuantil riil suatu data. Khusus untuk distribusi normal grafiknya disebut QQnorm.
Tutup
Keluar
S sampel
Sampel adalah sebagian dari populasi yang secara representatif mewakili populasi. UNEJ
V Daftar Isi
validitas konstruk menunjukkan sejauh mana indikator yang diukur mewakili konstruk yang bersifat laten.
Judul
JJ J
I II
Hal. 460 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Daftar Pustaka
Daftar Isi
Judul
[1] G.P. Beaumont. Intermediate Mathematical Statistics. Chapman and Hall, London, 1st edition, 1980. [2] B.L. Bowerman R.T. Cornell and D.A. Dickey. Linear Statistical Models, an Appplied Approach. Duxbury Press, Boston, 1986. [3] I.N. Budiantara and Subanar. Regresi spline dan permasalahannya. Majalah Berkala Penelitian Pasca Sarjana, 10, 1997. [4] P.J. Burns. S Poetry. http://www.r-project.org, 1998. [5] J.M. Chamber and T.J. Hastie. Statistical Model in S. Chapman and Hall, London, 1992. [6] D.R. Cox and D.V. Hinkley. Theoretical Statistics. Chapman and Hall, London, 1st edition, 1974.
JJ J
I II
Hal. 461 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
[7] D.R. Cox and N. Reid. Parameter orthogonality and approximate conditional inference. J. R. Statist. Soc., 49:1–39, 1987. [8] Crawley. Statistical Computing: An Introduction to Data Analysis using S-Plus. Wiley, England, 2004. [9] M. Davidian and D.M. Giltinan. Nonlinear Models for Repeated Measurement Data. Chapman and Hall, London, 1995. [10] P.J. Diggle, K-Y. Liang and S.L. Zeger. Analysis of Longitudinal Data. Oxford Science Publications, London, 1st edition, 1994. [11] A.J. Dobson. An Introduction to Generalized Linear Models. Chapman and Hall, London, 1990.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 462 dari 483
[12] B. Everitt. A Handbook of Statistical Analyses using S-Plus. Chapman & Hall, 2nd edition, 2001. Cari Halaman
[13] B.S. Everitt and T. Hothorn. A Handbook of tatistical Analysis using R. Chapman & Hall/CRC, 2010. [14] J.J. Faraway. Practical Regression and Anova http://www.stat. Isa.umic.edu/∼faraway/book/, 2002.
Using
Kembali
R.
[15] J.F. Hair, Black, Anderson & Tatham. Multivariate Data Analysis. Pearson International Edition, 6th edition, 2006.
Layar Penuh
Tutup
Keluar
[16] J.F. Hair, W.C. Black, B.J. Babin, R.E. Anderson. Multivariate Data Analysis. 2010. [17] U. Halekoh, S. Hojsgaard, and J. Yan. The r package geepack for generalized estimating equations. Journal of Statistical Software, 15:1–11, 2006.
UNEJ
Daftar Isi
[18] E.W. Handayani. Pencocokan model aditif tergeneralisir semiparametrik menggunakan penghalus spline. Skripsi Jurusan Matematika FMIPA UNEJ, 2006. [19] E.W. Handayani, IM. Tirta and B. Lestari. Pencocokan model aditif tergeneralisir semiparametrik menggunakan penghalus spline. Artikel Ilmiah Jurusan Matematika FMIPA UNEJ, 2006.
Judul
JJ J
I II
Hal. 463 dari 483
[20] T.J. Hastie. Generalized aditive models. In J.M. Chambers and T.J. Hastie, editors, Statistical Model In S, chapter 7, pages 249–307. Chapmann & Hall, London, 1997. [21] T.J. Hastie and R. Tibshirani. Generalized Additive Models. Chapman & Hall, London, 1990.
Cari Halaman
Kembali
[22] T.J. Hastie and R. Tibshirani. Generalized Additive Models. http://wwwstat.stanford.edu/., 1991. [19 Januari 2013].
Layar Penuh
[23] H. Hwang and Y. Takane. Generalized structured component analysis. Psychometrika, 69(1):81–99, 2004.
Tutup
Keluar
[24] H. Hwang, N.K. Malhotra, Y. Kim, M.A. Tomiuk, and S. Hong. A comparative study on parameter recovery of three approaches to structural equation modeling. Journal Of Marketing Research. just accepted. [25] K.G. Joreskog. A general method for estimating a linear structural equation system. In A.S. Goldberger & O.D. Duncan, editor, Structural Equation Models in Social Science, pages 85–112. Academic Press, New York, 1973. [26] K. Jung, Y. Takane, H. Hwang and T.S. Wordward. Dynamic gsca (generalized structured component analysis) with Appliation to the Analysis of Effective Connectivity in Functional Neuroimaging Data. Psychometrika, 2012. just submitted to. [27] M.G. Kenward and D.M. Smith. Computing the generalized estimating equation for repeated measurements. Genstat Newsletter, 32:50–62, 1995.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 464 dari 483
Cari Halaman
[28] P. Kuhnert and B. Venables. An Introduction to R: Software for Statistical Modelling & Computing. CSIRO, http://cran.rproject.org/doc/contrib/Kuhnert+Venables-R Course Notes.zip, 2005. [17 April 2006].
Layar Penuh
[29] N.M. Laird and J.H. Ware. Random effects models for longitudinal data. Biometrics, 38:963–974, 1982.
Tutup
Kembali
Keluar
[30] Y. Lee and J.A. Nelder. Hierarchical generalized linear models. J.R. Statist. Soc., 58:619–678, 1996. [31] K-Y Liang and S.L. Zeger. Longitudinal data analysis using generalized linear models. Biometrika, 73:13–22, 1986. [32] K.Y. Liang, S.L. Zeger and B. Qaqish. Multivariate regression analyses for categorical data (with discussion). J.R. Statist. Soc., 54:3–40, 1992. [33] A. Marazzi. Algorithms, Routines and S Functions for Robust Statistics. Wadsworth and Brook/Cole, Pacific Grove, 1992. [34] P. McCullagh and J.A. Nelder. Generalized Linear Models. Chapman and Hall, London, 2nd edition, 1989.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 465 dari 483
[35] P. McCullagh and R. Tibshirani. A simple method for the adjustment of profile likelihoods. J. R. Statist. Soc., 52:325–344, 1990. Cari Halaman
[36] W. Mendenhall. Introduction to Probability and Statistics. Duxbury, Belmont USA, 5th edition, 1979.
Kembali
[37] W. Mendenhall. Beginning Statistics A to Z. Duxbury, Belmont USA, 1993.
Layar Penuh
[38] P.L. Meyer. Introductory Probability and Statistical Applications. Addison-Wisley Pub. Co., Massachusets, 2nd edition, 1970.
Tutup
Keluar
[39] M. Molas and E. Lesaffre. Hierarchical generalized linear models: The r package hglmmm. Journal of Statistical Software, 39:1–20, 2011. [40] J.A. Nelder and R.W.M. Wedderburn. J.R.Statist.Soc., 57:359–407, 1972.
Generalized linear models.
[41] J. Neter, W. Wasserman and M.H. Kutner. Applied Linear Statistical Models. Irwin, Illinois, 2nd edition, 1985. [42] K.M. Ramachandran and C.P. Tsokos. Mathematical Statistics with Applications. Elsevier, 2009. [43] R. A. Rigby and D. M. Stasinopoulos. Generalized additive models for location, scale and shape,(with discussion). Applied Statistics, 54:507– 554, 2005. [44] R. A. Rigby and D. M. Stasinopoulos. Generalized additive models for location scale and shape (gamlss) in R. Journal of Statistical Software, 23:1–46, 2007. [45] L. Rnnegrd, X. Shen and M. Alam. hglm: A package for fitting hierarchical generalized linear models. The R Journal, 2:20–27, 2010.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 466 dari 483
Cari Halaman
Kembali
Layar Penuh
[46] Y. Rosseel. lavaan: An r package for structural equaiton modeling. Journal of Statistical Software, 48(2):1–36, 2012. Tutup
Keluar
[47] Y. Rosseel. Lavaan: an R Package for structural equation modeling and more. Department of Data Analysis Ghent University Belgium, 2012. manual for lavaan. [48] J.T. Schnute, A. Couture-Beil & R. Haigh. PBS Modelling 1: User’s Guide, 2006.
UNEJ
Daftar Isi
[49] J.T. Schnute, Couture-Beil, A. & Haigh R. PBS Modelling 1: Developer’s Guide, 2007. Judul
[50] S.R. Searle. Matrix Algebra Useful for Statistics. John Wiley and Sons, New York, 1st edition, 1982. [51] G.K. Smyth. Generalized linear models with varying dispersion. J.R. Statist. Soc, 51:47–60, 1989. [52] G.K. Smyth. Partitioned algorithms for maximum likelihood and other nonlinear estimation. Statistics and Computing, 6:201–216, 1996. [53] M. Stasinopoulos, B. Rigby, C. Akantziliotou. The gamlss.family distribution, 2010. [54] I M. Tirta. Analysis of Gamma Data with Random Effects. PhD thesis, Department of Mathematics Statistics and Computing Sciences, The University of New England, Armidale, NSW Australia, 1999.
JJ J
I II
Hal. 467 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
[55] I M. Tirta. The conjugate model for gamma data with random effects. A paper submitted for MIHMI (Majalah Ilmiah Himpunan Matematika Indonesia), 1999. [56] I M. Tirta. The conjugate model in Gamma data with random effetcs. MIHMI (Journal of Indonesian Mathematical Society), 6(1):57–78, 2000.
UNEJ
Daftar Isi
[57] I M. Tirta. A nonconjugate model for Gamma data with random effects. Jurnal Ilmu Dasar (Journal of Basic Sciences), 1(1):46–58, 2000. Judul
[58] I M. Tirta. Pemrograman Statistika dengan S-Plus 4.5. FMIPA Universitas Jember, Jember, 2001. Diktat Kuliah. [59] I M. Tirta. Buku Panduan Program Statistika R. Penerbit Universitas Jember, Jember, 2005. ISBN 979-8176-37-5. [60] I M. Tirta. R-GUI. Mendesain Paket Analisis Data dan Media Pembelajaran Statistika. Penerbit Universitas Jember, Jember, 2007. ISBN: 979-8176-55-3. [61] IM. Tirta, Lestari B. & Dewi Y. S. Estimasi efek tetap dan efek acak pada model multiplikatif dengan aplikasi open source software (oss)-r. Jurnal Teknologi. ACADEMIA ISTA, 11(2):195–202, 2007. [62] IM. Tirta,B. Lestari & Y.S. Dewi. Estimasi efek tetap dan acak pada model multiplikatif dengan likelihood bersama. Jurnal Ilmu Dasar, 7(1), 2006.
JJ J
I II
Hal. 468 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
[63] W.N. Venables and B.D. Ripley. Modern Applied Statistics with S-plus. Springer, New York, 3rd edition, 1996. [64] J. Vezalini. Using R for Introductory Statistics. project.org, 2002.
http://www.r-
[65] M.A. Waclawiw and K-Y Liang. Prediction of random effects in the generalized linear model. J. Amer. Statist. Assoc., 88:171–178, 1993. [66] W.F. Wandi, IM. Tirta and Y.S. Dewi. Aplikasi gamlss dengan pemulus Cubic Spline, dan algoritma rigby & stasinopoulos pada data agroklimatologi. Artikel Ilmiah Jurusan Matematika FMIPA UNEJ, 2012. [67] R.W.M. Wedderburn. Quasi-likelihood functions, generalized linear models, and the Gauss-Newton method. Biometrika, 61:439–447, 1974. [68] S.H. Wijayanto. Structural Equation Modeling dengan Lisrel 8.8. Graha Ilmu, Yogyakarta, 2008. [69] H. Wold. Causal flow with laten variable: Parting of the ways in the light of nipals modeling. European Economic Review, 8:587–599, 1974. [70] J Yan. geepack: Yet another package for generalized estimating equations. R News, 2/3:12–14, 2002. [71] S.L. Zeger and K-Y. Liang. Longitudinal data analysis for discrete and continuous outcomes. Biometrics, 42:121–130, 1986.
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 469 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
[72] S.L. Zeger and K-Y. Liang. An overview of methods for the analysis of longitudinal data. Statistics in Medicine, 11:1825–1839, 1992. [73] S.L. Zeger, K-Y. Liang and P.S. Albert. Models for longitudinal data: A generalized estimating equation approach. Biometrics, 44:1049–1060, 1988.
UNEJ
Daftar Isi
[74] A. Ziegler. Generalized Estimating Equations. Springer, 2011. [75] V. Zoonekyn. Statistics UNIX/48 R/all.html, 2005.
with
R.
http://zoonek2.free.fr/
Judul
JJ J
I II
Hal. 470 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UNEJ
Lampiran A DATA UNTUK ILUSTRASI
Daftar Isi
Judul
JJ J
I II
Hal. 471 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
A.1.
Dari Paket base
Data sets in package 'base': Formaldehyde HairEyeColor InsectSprays LifeCycleSavings OrchardSprays PlantGrowth Titanic ToothGrowth UCBAdmissions USArrests USJudgeRatings USPersonalExpenditure VADeaths airquality anscombe attenu attitude cars chickwts
Determination of Formaldehyde Hair and Eye Color of Statistics Students Effectiveness of Insect Sprays Intercountry Life-Cycle Savings Data Potency of Orchard Sprays Results from an Experiment on Plant Growth Survival of passengers on the Titanic The Effect of Vitamin C on Tooth Growth in Guinea Pigs Student Admissions at UC Berkeley Violent Crime Rates by US State Lawyers' Ratings of State Judges in the US Superior Court Personal Expenditure Data Death Rates in Virginia (1940) New York Air Quality Measurements Anscombe's Quartet of "Identical" Simple Linear Regressions The Joyner-Boore Attenuation Data The Chatterjee-Price Attitude Data Speed and Stopping Distances of Cars Chicken Weights by Feed Type
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 472 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
esoph euro eurodist faithful infert iris iris3 islands longley morley mtcars phones precip pressure quakes randu rivers sleep stackloss state swiss trees
Smoking, Alcohol and (O)esophageal Cancer Conversion Rates of Euro Currencies Distances Between European Cities Old Faithful Geyser Data Infertility after Spontaneous and Induced Abortion Edgar Anderson's Iris Data Edgar Anderson's Iris Data Areas of the World's Major Landmasses Longley's Economic Regression Data Michaelson-Morley Speed of Light Data Motor Trend Car Road Tests The World's Telephones Annual Precipitation in US Cities Vapor Pressure of Mercury as a Function of Temperature Locations of Earthquakes off Fiji Random Numbers from Congruential Generator RANDU Lengths of Major North American Rivers Student's Sleep Data Brownlee's Stack Loss Plant Data US State Facts and Figures Swiss Fertility and Socioeconomic Indicators (1888) Data Girth, Height and Volume for Black Cherry
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 473 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
volcano warpbreaks women
Trees Topographic Information on Auckland's Maunga Whau Volcano The Number of Breaks in Yarn during Weaving Average Heights and Weights for American Women
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 474 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
A.2.
Dari Paket car
Data sets in package 'car': Adler Angell Anscombe Baumann Bfox Blackmoor Burt Can.pop Chile Chirot Cowles Davis DavisThin Duncan Ericksen Florida Freedman Friendly Ginzberg Greene
Experimenter Expectations Moral Integration of American Cities U. S. State Public-School Expenditures Methods of Teaching Reading Comprehension Canadian Women's Labour-Force Participation Exercise Histories of Eating-Disordered and Control Subjects Fraudulent Data on IQs of Twins Raised Apart Canadian Population Data Voting Intentions in the 1988 Chilean Plebisciteyear The 1907 Romanian Peasant Rebellion Cowles and Davis's Data on Volunteering Self-Reports of Height and Weight Davis's Data on Drive for Thinness Duncan's Occupational Prestige Data The 1980 U.S. Census Undercount Florida County Voting Crowding and Crime in U. S. Metropolitan Areas Format Effects on Recall Data on Depression Refugee Appeals
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 475 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Guyer Hartnagel Leinhardt Mandel Migration Moore Mroz Ornstein Prestige Quartet Robey SLID Sahlins States UN US.pop Vocab Womenlf
Anonymity and Cooperation Canadian Crime-Rates Time Series Data on Infant-Mortality Contrived Collinear Data Canadian Interprovincial Migration Data Status, Authoritarianism, and Conformity U.S. Women's Labor-Force Participation Interlocking Directorates Among Major Canadian Firms Prestige of Canadian Occupations Four Regression Datasets Fertility and Contraception Survey of Labour and Income Dynamics Agricultural Production in Mazulu Village Education and Related Statistics for the U.S. States GDP and Infant Mortality Population of the United States Vocabulary and Education Canadian Women's Labour-Force Participation
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 476 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
A.3.
Dari Paket stats
Data sets in package 'stats': AirPassengers BJsales BOD CO2 ChickWeight DNase EuStockMarkets Harman23.cor Harman74.cor Indometh JohnsonJohnson LakeHuron Loblolly Nile Orange Puromycin Seatbelts Theoph UKDriverDeaths UKLungDeaths
Monthly Airline Passenger Numbers 1949-1960 Sales Data with Leading Indicator Biochemical Oxygen Demand Carbon Dioxide uptake in grass plants Weight versus age of chicks on different diets Elisa assay of DNase Daily Closing Prices of Major European Stock Indices, 1991-1998 Harman Example 2.3 Harman Example 7.4 Pharmacokinetics of Indomethicin Quarterly Earnings per Johnson & Johnson Share Level of Lake Huron 1875-1972 Growth of Loblolly pine trees Flow of the River Nile Growth of orange trees Reaction velocity of an enzymatic reaction Road Casualties in Great Britain 1969-84 Pharmacokinetics of theophylline Road Casualties in Great Britain 1969-84 Monthly Deaths from Lung Diseases in the UK
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 477 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
UKgas USAccDeaths WWWusage ability.cov airmiles austres beavers co2 discoveries freeny lh lynx nhtemp nottem presidents rock sunspot sunspots treering uspop
UK Quarterly Gas Consumption Accidental Deaths in the US 1973-1978 Internet Usage per Minute Ability and Intelligence Tests Passenger Miles on Commercial US Airlines, 1937-1960 Quarterly Time Series of the Number of Australian Residents Body Temperature Series of Two Beavers Mauna Loa Atmospheric CO2 Concentration Yearly Numbers of Important Discoveries Freeny's Revenue Data Luteinizing Hormone in Blood Samples Annual Canadian Lynx trappings 1821-1934 Average Yearly Temperatures in New Haven Average Monthly Temperatures at Nottingham, 1920-1939 Quarterly Approval Ratings of US Presidents Measurements on Petroleum Rock Samples Yearly Sunspot Data, 1700-1988, and Monthly Sunspot Data, 1749-1997 Monthly Sunspot Numbers, 1749-1983 Yearly Treering Data, -6000-1979 Populations Recorded by the US Census
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 478 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Indeks Penulis
UNEJ
Daftar Isi
Black, 453 Bowerman, 295 Budiantara, 404 Burns, 28, 49, 79 Chamber, 109, 341, 346 Crawley, 295, 330 Diggle, 354 Dobson, 141, 321, 322, 346 Everitt, 109, 401 Faraway, 109, 295 Hair, 453 Halekoh, 389 Handayani, 424 Hastie, 109, 403
Hothorn, 401 Hwang, 436, 453 Joreskog, 436 Jung, 453 Kenward, 359 Liang, 356
Judul
JJ J
I II
Hal. 479 dari 483
Cari Halaman
Marazzi, 109 McCullagh, 141, 353
Kembali
Nelder, 141, 346, 353 Neter, 295
Layar Penuh
Rigby, 164 Ripley, 109, 295, 346 Rosseel, 453
Tutup
Keluar
Schnute, 98, 99 Smith, 359 Stasinopoulos, 164 Subanar, 404 Takane, 436, 453 Tibshirani, 403 Tirta, 28, 49, 108, 109, 389 Venables, 109, 295 Vezalini, 109 Wandi, 424 Wedderburn, 357 Wijayanto, 453 Wold, 436 Zeger, 356 Ziegler, 362, 389 Zoonekyn, 109
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 480 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
Indeks Subjek
UNEJ
Daftar Isi
Judul
seragam, 359 algoritma penuh, 208 terpartisi, 208 AR-1, 359 barisan berpola, 34 boneka, 265 CV, 407 distribusi Binomial, 146 Binomial Negatif, 149 eksponensial, 149 Gamma, 148
Inverse Gauss, 149 Normal, 148 Pareto, 149 Poisson, 147 eksplanatori, 299 eleminsi, 191 fungsi, 60, 67 file, 44 grafik, 37 matriks, 20, 34 statistika, 35
JJ J
I II
Hal. 481 dari 483
Cari Halaman
Kembali
Layar Penuh
GAM, 403, 407 Gamma-HGLM, 370 GCV, 407 GEE, 349, 358
Tutup
Keluar
GLM, 358 GLS, 254 heteroskedastik, 252, 254 hiperparameter, 155, 161 homoskedastik, 252, 254
klasik, 211 LMM, 213 NLM, 212 normal, 211 tergeneralisasi, 217 multikolinieritas, 220
invariant, 210
Newton-Raphson, 253
JGIG, 370, 386
overdispersion, 330
kanonik, 142 keluarga eksponensial, 141, 299 knot, 404 kurtosis, 153
parameter, 24, 36 pemodelan, 192 deterministik, 195 stokastik, 195 posterior, 162 prediktor aditif, 403 linier, 304 probit, 306, 327 program algoritma, 62 diagram alir, 62 komponen, 59 langkah, 62 PRSS, 404
log komplementer, 306 logistik, 327 logit, 107, 306, 327 longitudinal, 348 model linier bertingkat, 215 GEE, 219 GLM, 217 GLMM, 219 HGLM, 219 hirarkis tergeneralisasi, 219
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 482 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Rcli, 16 Keluar
regresi Ridge, 220 repeated measurements, 348 measures, 348 S-Plus, 17 sekawan, 370, 371 semiparametrik, 403 simulasi, 60 sistematis, 299 skewness, 153 skoring Fisher, 253 spline, 403 kubik, 404 linier, 405 Tinn-R, 17
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 483 dari 483
Cari Halaman
WLS, 254 Kembali
Layar Penuh
Tutup
Keluar
Indeks Fungsi R
UNEJ
Daftar Isi
Judul
%*%, 34 abline(), 38, 53 axis(), 37 barplot(), 38, 53 boxplot(), 38, 53 bs(), 422 cat(), 44 contour(), 38, 53 cor(), 35 det(), 34 diag(), 34 dnorm(), 36 gam(), 422
gamlss(), 422 gamm(), 422 gee(), 107, 363, 364 geese(), 364, 390 glm(), 107, 331, 363 glmML(), 107 hglm(), 364 hglmmd(), 364 hglmmm(), 364 hist(), 38, 53 lavaan(), 445 list(), 76 lm(), 106, 276 lmer(), 107 lmm(), 107 lowess(), 422
JJ J
I II
Hal. 484 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar
lrm(), 107 matrix(), 34 max(), 35 mean(), 35 median(), 35 mgcv(), 422 min(), 35 names(), 77 nls(), 107 ns(), 422 pairs(), 38, 53 par(), 37 persp(), 38, 53 plot(), 37, 38, 53 pnorm(), 36 points(), 37 print(), 44 qgraph.lavaan(), 445 qgraph.sem(), 445 qnorm(), 36 qq.plot(), 38, 53 read.table(), 44 reg.line(), 38, 53
rep(), 34 rnorm(), 36 rug(), 38, 53 sample(), 35 scatterplot(), 38, 53 scatterplot.matrix(), 38, 53 sem(), 445 seq(), 34 sink(), 44 solve(), 34 source(), 44 sp(), 38, 53 split.screen(), 29, 51 spm(), 38, 53 t(), 34 text(), 37 tr(), 34 var(), 35
UNEJ
Daftar Isi
Judul
JJ J
I II
Hal. 485 dari 483
Cari Halaman
Kembali
Layar Penuh
Tutup
Keluar