Menyimpan Data menjadi Variabel

Salah satu hal penting lainnya yang dimiliki R (atau Bahasa pemrograman lain) adalah menyimpan data kedalam variabel. Variabel dapat diibaratkan seperti sebuah label untuk sebuah informasi. Variabel dapat juga terdiri dari beberapa informasi.

Data pada R terdiri dari 2 Jenis/Tipe:

1. Data berdasarkan Jenis Variabel (Variable Type)

2. Data berdasarkan Tabel (Table Type)

Aturan dalam penamaan variabel

R memiliki berbagai fleksibilitas dalam memberikan nama variabel, namun demikian beberapa aturan penamaan variabel yang perlu diketahui adalah sebagai berikut:

  1. Menggunakan huruf besar (kapital ) yaitu huruf A-Z juga menggunakan huruf kecil yaitu huruf (a-z)
  2. Menggunakan karakter numerik (0-9), juga titik (.) atau garisbawah (**_**)
  3. Tidak dapat menggunakan spasi, misalnya penulisan variabel:“harga buku”" adalah contoh yang salah dalam penamaan variabel, bisa diganti dengan variabel seperti ini: “harga.buku”
  4. Variabel yang dibuat adalah case sensitive artinya pengetikkannya harus persis sama dan membedakan antara huruf besar dan huruf kecil. Misalnya Hargabuku dan hargabuku adalah dua variabel yang berbeda.
  5. Penamaan variabel sebaiknya mulai dengan huruf, meski Anda bisa memberikan nama variabel dengan _hargabuku atau .hargabuku hanya saja penamaan itu tidak disarankan
  6. Sebaiknya hindari menggunakan kata-kata yang sama dengan perintah-perintah yang dikenal R seperti: if, else, repeat, while, function, for,in, next, break, TRUE, FALSE, NULL, NA, NA_integer dan sebagainya.

1. Data berdasarkan Jenis Variabel (Variable Type)

  • Variabel Numerik (Numbers)
a<-25

variabel tersebut bisa digunakan untuk operasi perhitungan selanjutnya…

b<-10
c<-a+b
c
## [1] 35
  • Variabel String (Text)
ab<-"Hello"
ab
## [1] "Hello"
  • Variabel Tanggal (Date)
today <- Sys.Date()
print(today)
## [1] "2017-01-16"

Apabila ingin menambah 1 tahun caranya adalah:

today <- Sys.Date()
today2<-today + 365
today2
## [1] "2018-01-16"
  • Variabel Vektor (Vectors)

R dapat melakukan operasi aritmetika, mengikuti perintah secara berurutan, menggunakan fungsi-fungsi tertentu, membuat variabel nama. Sekarang kita akan belajar bagaimana R dapat mengerjakan operasi aritmetika yang berbentuk vektor.

Cobalah membuat vector yang berisi angka-angka di bawah ini

c(4, 7, 9)
## [1] 4 7 9

Fungsi c (c singkatan dari Combine) membuat vector baru dengan kombinasi angka-angka tersebut.

Sekarang buatlah vector bernilai strings:

c('a', 'b', 'c')
## [1] "a" "b" "c"

Vector tidak dapat menyimpan data yang jenis atau nilainya berbeda.

Coba ketik instruksi di bawah ini dan lihat hasilnya

c(1, TRUE, "satu")
## [1] "1"    "TRUE" "satu"

Seluruhnya dikonversi menjadi satu nilai berjenis karakter (string)

*Sequence Vector

Vector bisa dibuat dalam sekuen nomor tertentu dengan notasi start:end

Mari kita membuat vector dari angka 3 sampai 9

3:9
## [1] 3 4 5 6 7 8 9

Cara lain bisa menggunakan fungsi seq:

seq(3, 9)
## [1] 3 4 5 6 7 8 9

seq membolehkan Anda untuk menentukan urutan sesuai keinginan misal urutan kenaikannya adalah 0,5:

seq(10,20,0.5)
##  [1] 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5
## [15] 17.0 17.5 18.0 18.5 19.0 19.5 20.0
  • Operasi Vector

Kita akan membuat vector yang berisi beberapa teks(string) dan menyimpannya dalam variabel kegiatan:

kegiatan <- c('makan','tidur','belajar')

Anda bisa menampilkan variabel “belajar” saja caranya:

kegiatan[3]
## [1] "belajar"

Anda bisa mengganti nilai baru pada vector yang ada.

Gantilah kata ketiga pada vector kegiatan dengan kata “belanja”

kegiatan[3]<-"belanja"

Jika ingin menambah nilai, vector akan mengizinkannya.

Tambahkan kata “ujian” menjadi kata keempat pada vector kegiatan:

kegiatan[4]<- 'ujian'

Anda dapat menggunakan tanda kurung () untuk mengakses berbagai nilai. Coba tampilkan kata pertama dan kata ketiga pada vector kegiatan:

kegiatan[c(1,3)]
## [1] "makan"   "belanja"

Sekarang tampilkan nilai dari vector kata kedua hingga kata keempat:

kegiatan[2:4]
## [1] "tidur"   "belanja" "ujian"

*Vector Names Anda dapat memproses names dalam vector yang berisi vector kedua

Perhatikan contoh di bawah ini:

ranking <- 1:3

names(ranking) <- c("pertama", "kedua", "ketiga")

names digunakan untuk mengakses nilai pada vector.

Cara menampilkan nilai “pertama” pada vector ranking:

ranking["pertama"]
## pertama 
##       1
  • SCATTER PLOTS

Fungsi plot memiliki 2 vector, satu untuk nilai X dan satu lagi, nilai Y, biasanya digunakan untuk membuat grafik

x <- seq(1, 20, 0.1)
y <- sin(x)
plot(x,y)

Sekarang cobalah membuat vector dengan urutan menurun dari 9 ke 5 Misalkan kita ingin membuat sebuah variabel tinggi badan yang memiliki nilai-nilai: 120,100, 165, 142, 97, 110, 150, kita dapat menginstruksikan kepada R untuk menggabung nilai-nilai tersebut menggunakan fungsi concatenate; c. Hal ini adalah salah satu fungsi yang paling penting dan seringkali digunakan dalam R.

a <- c(120,100, 165, 142, 97, 110, 150) # numeric vector
b <- c("satu","dua","tiga") # character vector
c <- c(TRUE,FALSE,TRUE,FALSE) #logical vector

2. Data berdasarkan Tabel (Table Type)

  • Variabel Matriks (Matrices)

Matriks adalah array 2 dimensi yang terdiri dari absis dan ordinat membuat matriks dengan 3 baris dan 4 kolom dengan nilai (field) = 0

matrix(0,3,4)
##      [,1] [,2] [,3] [,4]
## [1,]    0    0    0    0
## [2,]    0    0    0    0
## [3,]    0    0    0    0

Anda bisa juga menentukan nilai dari matriks.

Untuk membuat matriks 3x4 yang berisi nilai 1 sampai 12 caranya adalah:

a <-1:12

print(a)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
matrix(a,3,4)
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12
  • Variabel Matriks lanjutan (Advance Matrices)
form1 <- matrix(a,3,4)
form1
##      [,1] [,2] [,3] [,4]
## [1,]    1    4    7   10
## [2,]    2    5    8   11
## [3,]    3    6    9   12

melihat nilai matriks pada baris 2 kolom 4:

form1[2,4]
## [1] 11

Bagaimana caranya menampilkan seluruh nilai pada baris 2 ?

form1[2,]
## [1]  2  5  8 11

Bagaimana caranya menampilkan seluruh nilai pada kolom 4 ?

form1[,4]
## [1] 10 11 12
  • Plotting Matrices
elevation <- matrix(1,10,10)
elevation[4,6] <- 0
elevation
##       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
##  [1,]    1    1    1    1    1    1    1    1    1     1
##  [2,]    1    1    1    1    1    1    1    1    1     1
##  [3,]    1    1    1    1    1    1    1    1    1     1
##  [4,]    1    1    1    1    1    0    1    1    1     1
##  [5,]    1    1    1    1    1    1    1    1    1     1
##  [6,]    1    1    1    1    1    1    1    1    1     1
##  [7,]    1    1    1    1    1    1    1    1    1     1
##  [8,]    1    1    1    1    1    1    1    1    1     1
##  [9,]    1    1    1    1    1    1    1    1    1     1
## [10,]    1    1    1    1    1    1    1    1    1     1
persp(volcano, expand=0.2)

R memberikan fasilitas instruksi yang memudahkan kita membuat matriks. Apabila kita ingin membuat matriks 3 X 3 dengan urutan angka dari 1 sampai dengan 9, caranya adalah sebagai berikut:

matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, byrow=TRUE)
##      [,1] [,2] [,3]
## [1,]    1    2    3
## [2,]    4    5    6
## [3,]    7    8    9

Perhatikan urutan matriks diatas adalah dari kiri ke kanan karena perintah yang diberikan diatas adalah matrix(c(…. byrow = TRUE)

Apabila ingin membuat matriks dengan urutan dari atas ke bawah dan menyimpannya dalam variabel tm, maka perintahnya adalah sebagai berikut:

tm<-matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, byrow=FALSE)
tm
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9

Kita juga dapat melakukan operasi aritmetika pada matriks, misalnya ingin mengkalikan dengan 10, caranya:

tm2<-matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, byrow=FALSE)
tm2*10
##      [,1] [,2] [,3]
## [1,]   10   40   70
## [2,]   20   50   80
## [3,]   30   60   90

Atau melakukan penambahan antar vektor:

ta<-matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, byrow=FALSE)
tb<-matrix(c(10,-2,5,8,105,66,87,80,91), nrow=3, byrow=FALSE)
tc<-ta+tb
tc
##      [,1] [,2] [,3]
## [1,]   11   12   94
## [2,]    0  110   88
## [3,]    8   72  100
  • Faktor (Factor)

faktor (factor) merupakan objek R yang dibuat menggunakan sebuah vektor. Data tersebut akan disimpan menjadi label. Berikut ini caranya:

# Membuat vector
warna <- c('hijau','hijau','kuning','merah','merah','merah','hijau')

# Membuat sebuah factor object.
factor_warna <- factor(warna)

# Print the factor.
print(factor_warna)
## [1] hijau  hijau  kuning merah  merah  merah  hijau 
## Levels: hijau kuning merah
print(nlevels(factor_warna))
## [1] 3
  • Kerangka Data (Data Frame)

Salah satu cara untuk menyimpan informasi dalam bentuk data frame. Ada banyak vector dari berbagai tipe yang bisa disimpan dalam variabel yang sama. Vector tersebut bisa berupa strings, logika, numerik dsb. caranya adalah sebagai berikut:

a <- c(1,2,3,4)
b <- c(5,6,7,8)
grade <- factor(c("A","B","C","D"))
df <- data.frame(a,b,grade)
df
##   a b grade
## 1 1 5     A
## 2 2 6     B
## 3 3 7     C
## 4 4 8     D

Cara memanggil kolom pertama:

df$a
## [1] 1 2 3 4

Cara memanggil kolom ketiga:

df$grade
## [1] A B C D
## Levels: A B C D

Cara membuat Data frame yang lebih kompleks adalah sebagai berikut:

# Create the data frame.
info <-     data.frame(
   jenis_kelamin = c("pria", "pria","wanita"), 
   tinggi = c(162, 181.5, 175), 
   berat = c(61,88, 70),
   umur = c(49,30,26)
)
print(info)
##   jenis_kelamin tinggi berat umur
## 1          pria  162.0    61   49
## 2          pria  181.5    88   30
## 3        wanita  175.0    70   26

aswin.januarsjaf@gmail.com