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)
R memiliki berbagai fleksibilitas dalam memberikan nama variabel, namun demikian beberapa aturan penamaan variabel yang perlu diketahui adalah sebagai berikut:
a<-25
variabel tersebut bisa digunakan untuk operasi perhitungan selanjutnya…
b<-10
c<-a+b
c
## [1] 35
ab<-"Hello"
ab
## [1] "Hello"
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"
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
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
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
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
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
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) 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
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