Memahami Tipe Data pada R: Vector, Matrice, Factor, Data frame, & List

R adalah bahasa pemrograman yang didesain untuk melakukan perhitungan statistik. Sehingga tipe data yang ada pada R agak berbeda dengan bahasa pemorograman mainstream, karena memang tipe data disesuaikan untuk perhitungan statistik.

Pada R, semua tipe data adalah objek. R memiliki lima tipe data atmic/primitif: logical, integer, numeric, complex, dan character.

Vector

Vector adalah tipe data yang minyimpan satu atau lebih tipe data lain, vector ini mirip dengan collection atau array pada bahasa pemrograman mainstream.

## Kontruksi vector
vec1 <- c(1,2,3,45,78,100)
vec2 <- c('budi','suka','temen','wanita','badu')
 
## print
vec1
# [1]   1   2   3  45  78 100
 
vec2
# [1] "budi"   "suka"   "temen"  "wanita" "badu"
 
class(vec1)
# [1] "numeric"
 
class(vec2)
# [1] "character"

Vector hanya bisa menyimpan tipe data yang sama, jika pun kita memaksakan menyimpan tipe data berbeda, maka akan dikonversi ke character.

vec3 <- c(TRUE,'Budi','12','12L',1 + 0i)
vec3
# [1] "TRUE" "Budi" "12"   "12L"  "1+0i"
 
class(vec3)
# [1] "character"
 
class(vec3[1])
# [1] "character"

Operasi-Operasi pada Vector

Vector adalah tipe data yang paling sering digunakan pada R setelah Data Frame, berikut adalah operasi-operasi yang sering digunakan dalam memanipulasi R.

Memberikan label/penamaan:

vec1
# [1]   1   2   3  45  78 100
 
names(vec1) <- c('satu','dua','tiga','empat lima','tujuh delapan','seratus')
vec1
#         satu           dua          tiga    empat lima tujuh delapan       seratus 
#            1             2             3            45            78           100

Label ini nanti bisa kita gunakan untuk pengaksesan vector selain menggunakan indeks-nya.

vec1['satu']
# satu 
#    1
 
vec1['tujuh delapan']
# tujuh delapan 
#           78
 
## pengaksesan lebih dari satu
vec1[c('satu','tiga','seratus')]
#   satu    tiga seratus 
#      1       3     100

Operasi aritmatikia

A_vector <- c(1, 2, 3)
B_vector <- c(4, 5, 6)
 
total_vector <- A_vector + B_vector 
 
total_vector
# [1] 5 7 9
 
## Lanjutan, more advanced
poker_vector <- c(140, -50, 20, -120, 240)
 
# Beri label
days_vector <- c('Monday','Tuesday','Wednesday','Thursday','Friday')
names(poker_vector) <- days_vector
 
# Hari apa saja yang pernah menang?
selection_vector_win <- poker_vector > 0
 
# Hari apa saja yang pernah kalah?
selection_vector_los <- poker_vector <= 0
 
# Hari menang
poker_winning_days <- poker_vector[selection_vector_win]
 
# Total menang
sum(poker_vector[selection_vector_win])
# [1] 400
 
# Total kalah
sum(poker_vector[selection_vector_los])
# [1] -170

Oke, karena gw lagi HYPE sama gravitional wave, jadi pengen nonton lagi interstellar. To be Continue.

Referensi:
http://dbarneche.github.io/2014-12-11-ufsc/lessons/01-intro_r/data-structures.html
https://en.wikibooks.org/wiki/R_Programming/Data_types

0 comments… add one

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.