• Tidak ada hasil yang ditemukan

Fitur Dasar R

IV.6. Membaca Data Suatu File

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

Fungsi read.table()

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

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

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

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

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

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

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

Kita juga dapat menghilangkan label baris untuk data frame dengan menuliskan

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

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

Fungsi scan()

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

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

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

Input file form with names and row labels:

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

Input file form with names and row labels:

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

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

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

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

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

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

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

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

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

Mengakses dan menggunakan data yang built-in di R.

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

> data()

42 Gambar 4.2: Dataset default dalam R

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

43 Gambar 4.3: Daftar dataset dalam R

Untuk menggunakan salah satu data built-in anda dapat menggunakan fungsi data(). Sebagai contoh, untuk menggunakan data AirPassengers, tuliskan:

> data(AirPassengers)

dan untuk melihat item datanya, tuliskan

> list(AirPassengers) [[1]]

Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 1949 112 118 132 129 121 135 148 148 136 119 104 118 1950 115 126 141 135 125 149 170 170 158 133 114 140 1951 145 150 178 163 172 178 199 199 184 162 146 166 1952 171 180 193 181 183 218 230 242 209 191 172 194 1953 196 196 236 235 229 243 264 272 237 211 180 201 1954 204 188 235 227 234 264 302 293 259 229 203 229 1955 242 233 267 269 270 315 364 347 312 274 237 278 1956 284 277 317 313 318 374 413 405 355 306 271 306 1957 315 301 356 348 355 422 465 467 404 347 305 336 1958 340 318 362 348 363 435 491 505 404 359 310 337 1959 360 342 406 396 420 472 548 559 463 407 362 405 1960 417 391 419 461 472 535 622 606 508 461 390 432

44 Loading data dari paket R lainnya

Selain dari dataset yang built-in, kita dapat menggunakan data dari paket R lainnya (dapt di download di website resmi R).

Sebagai contoh:

> data(package="rpart")

> data(Puromycin, package="datasets")

baris pertama akan memanggil (kumpulan) data dari paket rpart, pada baris kedua akan memanggil data Puromycin dari paket datasets.

Menyunting/edit data

Seperti software pengolahan & analisis data lainnya, R menyediakan fasilitas editor data mirip tampilan spreadsheet dengan menggunakan fungsi edit() yang penulisannya sebagai berikut:

> xnew <- edit(xold)

akan mengedit data sebelumnya xold menjadi data (objek) baru xnew.

Sebagai contoh, dengan menggunakan data built-in pada dataset , yakni AirPassenger , penulisannya:

> data(AirPassengers)

> xnew<-edit(AirPassengers)

menampilkan editor berikut:

Gambar 4.4: Editor data AirPassenger

Ket: Pemberian nama objek data yang diedit adalah bebas (bergantung kebutuhan dan kemudahan pengguna).

45 Untuk pengeditan data asli, dapat digunakan fungsi fix(). Misalkan:

> xnew <- fix(xold)

Ket: fungsi fix() ekivalen dengan fungsi edit() (pen.)

Sebagai contoh, untuk mengganti data AirPassenger , dapat dilakukan dengan cara sebagai berikut:

> xnew <- fix(AirPassengers)

Sedangkan untuk melakukan pemasukan (input) data dengan menggunakan interface spreadsheet (seperti MS Excel), penulisannya sebagai berikut:

> xnew <- edit(data.frame())

Sebagai contoh, akan digunakan data faithful untuk mengedit dengan model grid, dengan penulisan sebagai berikut:

> attach(faithful) > xnew <-fix(faithful)

Maka akan muncul spreadsheet sbb:

46 Pengeditan data dapat dilakukan dengan penulisan statement R seperti di atas, atau dengan menggunakan menu window: Edit -> Data editor …-> Masukan nama data (misal data faithful) -> OK untuk melanjutkan edit data. Tahapan tersebut ditunjukkan pada gambar berikut:

Gambar 4.5: Menu Data editor pada menu utama

Soal Latihan Bab IV

1. Tuliskan perintah dalam R yang menujukkan formula x2 + xy – 2/x .

2. Untuk menghasilkan barisan terurut meningkat keatas (ascending) mulai dari 1 sampai 100 dengan selisih 0,25, maka cara penulisan dalam R adalah?

3. Untuk membuat vektor dengan semua elemennya identik, misal angka 1 sebanyak 10 kali ( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) maka fungsi dari R yang digunakan adalah ?

4. Untuk membuat matrik kuadrat berukuran 2x2, dengan semua elemennya adalah 0, maka perintah R yang digunakan adalah ?

5. Jika A adalah sebuah matrik, dengan berukuran 2x3 dimana elemen secara terurut mulai array [1,1] = 1 , [2,1] = 2, …, [2,3] = 6. Maka perintah R yang digunakan untuk menuliskannya adalah ?

47 6. Jika K dan L adalah matrik kuadrat 2x2 dengan semua elemennya masing-masing adalah 1, dan 2. Untuk menggabungkan menjadi matrik berukuran 4x2 (ukuran 4 baris, 2 kolom) seperti matrik di bawah ini, diperlukan perintah R?

7. Dengan dua matrik yang sama pada soal no. 6, tuliskan perintah R yang menggabungkan keduanya menjadi matrik berukuran 2x4 .

8. Untuk matrik yang dihasilkan dari perhitungan soal no. 6 (misal matrik X) dan soal no. 7 (misal matrik Y), maka perintah R yang digunakan untuk mengalikan matrik X dan Y adalah ?

9. Lakukan perintah soal no. 8, namun untuk perkalian matrik Y dan X, lihat apakah ada perbedaan antara cara perkalian kedua matrik tersebut pada soal no. 8 dan soal no.9 ?

10. Misalkan, buka data sets yang terintegrasi pada R anda, kemudian edit lah data CO2 dan kemudian ganti menjadi objek dengan nama baru yakni karbondioksida, tuliskan perintah R yang digunakan!

47

Dokumen terkait