Struktur Data R

STRUKTUR DATA R – Struktur data sangat penting untuk dipelajari dalam menganalisis data, apalagi jumlah data yang banyak. Struktur data R dibagi menjadi 5 yaitu :

  1. Vector
  2. Factor
  3. Matric
  4. List
  5. Data Frame

Pada part 1 kali ini akan mempelajari dan mengulas mengenai Vector, Factor dan Matric terlebih dahulu. Berikut adalah penjelasan mengenai ketiga struktur tersebut.

1. Vector

Vector berfungsi menyimpan banyak data dalam satu tipe data yang sama. Jika kita membuat vector dengan tipe data yang digabung (misal character dan integer), maka tipe data integer akan diubah kedalam tipe data character. Function dalam membuat vektor adalah c( value,  ,  ,…).

Agar lebih jelas perhatikan beberapa contoh berikut:

# tipe data numeric
> a<-c> a
[1]  1.0  5.0 10.5
> b<-c> b
[1] 2 3 4

# kita dapat menggunakan operator pada R
> a*b 
[1]  2 15 42
> a>b
[1] FALSE  TRUE  TRUE
 
# tipe data character
> bunga=c("mawar","melati","matahari")
> bunga
[1] "mawar"    "melati"   "matahari"
 
# jika kita gabungkan character dan numerik, angka 1 dan 2 menjadi character
> hitung=c(1,2,"tiga","empat")
> hitung
[1] "1"     "2"     "tiga"  "empat"
 
# jika panjang elemen tidak sama maka elemen lebih pendek diulang (siklik)
> c<-c> a+c
[1] 11.0 16.0 20.5
Warning message:
In a + c : longer object length is not a multiple of shorter object length
 
# kita juga dapat mengambil nilai yang kita inginkan
> binatang=c("gajah","harimau","serigala","jerapah","kucing")
> binatang[1]
[1] "gajah"
> binatang[2:4]
[1] "harimau"  "serigala" "jerapah" </-c></-c></-c>

 

2. Factor

Factor mirip dengan vector dan memberikan informasi mengenai distinct value berupa labels.
Fungsi Factor adalah factor( value, , ,…).

Contohnya seperti berikut:

# misal kita memiliki golongan darah 8 orang yang berbeda-beda
> golongan_darah=c("A","A","B","O","AB","O","B","A")
> factor(golongan_darah)
[1] A  A  B  O  AB O  B  A 
Levels: A AB B O

# atau kalian bisa menuliskan seperti berikut
> golongan_darah=factor(c("A","A","B","O","AB","O","B","A"))
[1] A  A  B  O  AB O  B  A 
Levels: A AB B O

3. Matric

Matric mirip juga seperti vector dengan atribut dimensi. Matric memiliki jumlah baris (nrow) dan jumlah kolom (ncol).

Lebih jelasnya kita lihat contoh berikut:

# membuat matrik nilai 1 sampai 9 dengan ukuran 3x3 , kita bisa menyebutkan nrow atau ncol saja ataupun dua-duanya
> m=matrix(1:9,ncol=3)
> m
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

# mengambil nilai dalam matric [baris,kolom]
> m[3,2] 
[1] 6

Matric dapat dibuat menggunakan column-binding cbind() dan row-binding rbind()

> cbind(1:5,6:10) 
     [,1] [,2]
[1,]    1    6
[2,]    2    7
[3,]    3    8
[4,]    4    9
[5,]    5   10
> rbind(1:5,6:10)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10

Array dapat digunakan lebih dari 2 dimensi.

> a=array(1:18,c(3,3,2)) # array(nilai,c(baris,kolom, jumlah matric)
> a
, , 1

     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

, , 2

     [,1] [,2] [,3]
[1,]   10   13   16
[2,]   11   14   17
[3,]   12   15   18

# mengambil nilai dalam array [baris, kolom, matrik ke-]
> a[1,2,2]
[1] 13

4. List

List merupakan kumpulan data yang tipe datanya dapat berbeda-beda. Membuat list menggunakan function list (    ). Agar lebih paham lihat contoh berikut:

# membuat list dengan 5 tipe berbeda(numeric, integer, logika, character, complex)
> x=list(1,10L,TRUE,"Seratus",10+1i) 
> x
[[1]]
[1] 1

[[2]]
[1] 10

[[3]]
[1] TRUE

[[4]]
[1] "Seratus"

[[5]]
[1] 10+1i

# untuk melihat data list gunakan function View(x)

 

5. Data Frame

Data Frame digunakan untuk menyimpan data dalam bentuk tabular ( seperti tabel terdiri dari kolom dan baris). Data Frame sangat penting untuk dipelajari dalam berbagai pemodelan statistik. Data Frame juga dapat meyimpan data walaupun tipe datanya berbeda. Setiap elemen dianggap sebagai kolom sedangkan panjang setiap elemen adalah jumlah baris. Supaya lebih jelas perhatikan contoh berikut:

# Membuat data frame nilai siswa
> nilai_siswa<-data.frame(
+     nama=c("Arina","Arya","Andhika","Ajeng"), # pemisah kolom (,) 
+     gender=c("P","L","L","P"),
+     nilai=c(85,90,100,80)
+ )
> View(nilai_siswa) #menampilkan data frame

# Mengetahui satu kolom yg diinginkan misalnya kolom nama
> nilai_siswa[1] # atau gunakan nilai_siswa[“nama”]
     nama
1   Arina
2    Arya
3 Andhika
4   Ajeng

# Mengetahui baris yg diinginkan misalnya baris 2 dan 3
> nilai_siswa[2:3,] #[baris 2 dan 3, semua kolom dikosongi ]
     nama gender nilai
2    Arya      L    90
3 Andhika      L   100