Bagaimana melakukan perhitungan menggunakan R. Hal-hal yang akan dibahas pada chapter kali ini antara lain:
Operator dan fungsi dasar pada R
Jenis dan struktur data
Vektor (cara membuat dan melakukan operasi matematika pada vektor)
Matriks (cara membuat dan melakukan operasi matematika pada matriks)
2.1 Operator Aritmatik
Proses perhitungan akan ditangani oleh fungsi khusus. R akan memahami urutannya secara benar. Kecuali kita secara eksplisit menetapkan yang lain. Sebagai contoh jalankan sintaks berikut:
2+4*2
## [1] 10
Bandingkan dengan sintaks berikut:
(2+4)*2
## [1] 12
Berdasarkan kedua hasil tersebut dapat disimpulkan bahwa ketika kita tidak menetapkan urutan perhitungan menggunakan tanda kurung, R akan secara otomatis akan menghitung terlebih dahulu perkalian atau pembangian. Operator aritmatika yang disediakan R disajikan sebagai berikut
Operator Aritmatika R.
Simbol Keterangan
(+) Addition, untuk operasi penjumlahan
(-) Substraction, untuk operasi pengurangan
(*) Multiplication, untuk operasi pembagian
/ Division, untuk operasi pembagian
^ Eksponentiation, untuk operasi pemangkatan
%% Modulus, Untuk mencari sisa pembagian
%/% Integer, Untuk mencari bilangan bulat hasil pembagian saja dan tanpa sisa pembagian
Untuk lebih memahaminya berikut contoh sintaks penerapan operator tersebut.
# Addition
5+3
## [1] 8
# Substraction
5-3
## [1] 2
# Substraction
5-3
## [1] 2
# Substraction
5-3
## [1] 2
# Division
5/3
## [1] 1.666667
# Eksponetiation
5^3
## [1] 125
# Modulus
5%%3
## [1] 2
# Integer
5%/%3
## [1] 1
2.2 Fungsi Aritmetik
Selain fungsi operator aritmetik, pada R juga telah tersedia fungsi aritmetik yang lain seperti logaritmik, ekponensial, trigonometri, dll.
Untuk contoh fungsi logaritmik dan eksponensial jalankan sintaks berikut:
log2(8) # logaritma basis 2 untuk 8
## [1] 3
log10(8) # logaritma basis 10 untuk 8
## [1] 0.90309
exp(8) # eksponensial 8
## [1] 2980.958
fungsi trigonometri yang ditampilkan seperti sin,cos, tan, dll.
cos(x) # cos x
sin(x) # Sin x
tan(x) # Tan x
acos(x) # arc-cos x
asin(x) # arc-sin x
atan(x) #arc-tan x
Berikut adalah salah satu contoh penggunaannya:
cos(pi)
## [1] -1
fungsi hiperbolik yang tersedia antara lain:
cosh(x)
sinh(x)
tanh(x)
acosh(x)
asinh(x)
atanh(x)
Fungsi lainnya yang dapat digunakan adalah fungsi absolut, akar kuadrat, dll. Berikut adalah contoh sintaks penggunaan fungsi absolut dan akar kuadrat.
abs(-2) # nilai absolut -2
## [1] 2
sqrt(4) # akar kuadrat 4
## [1] 2
2.3 Operator Relasi
Operator relasi digunakan untuk membandingkan satu objek dengan objek lainnya. Operator yang disediakan R
Simbol Keterangan
“>” Lebih besar dari
“<” Lebih Kecil dari
“==” Sama dengan
“>=” Lebih besar sama dengan
“<=” Lebih kecil sama dengan
“!=” Tidak sama dengan
contoh :
x <- 34
y <- 35
# Operator >
x > y
## [1] FALSE
# Operator <
x < y
## [1] TRUE
# operator ==
x == y
## [1] FALSE
# Operator >=
x >= y
## [1] FALSE
# Operator <=
x <= y
## [1] TRUE
# Operator !=
x != y
## [1] TRUE
2.4 Operator Logika
Operator logika hanya berlaku pada vektor dengan tipe logical, numeric, atau complex. Semua angka bernilai 1 akan dianggap bernilai logika TRUE.
Simbol Keterangan
“&&” Operator logika AND
“||”
“!” Opeartor logika NOT
“&” Operator logika AND element wise
“|”
penerapannya :
v <- c(TRUE,TRUE, FALSE)
t <- c(FALSE,FALSE,FALSE)
# Operator &&
print(v&&t)
## Warning in v && t: 'length(x) = 3 > 1' in coercion to 'logical(1)'
## Warning in v && t: 'length(x) = 3 > 1' in coercion to 'logical(1)'
## [1] FALSE
# Operator ||
print(v||t)
## Warning in v || t: 'length(x) = 3 > 1' in coercion to 'logical(1)'
## [1] TRUE
# Operator !
print(!v)
## [1] FALSE FALSE TRUE
# operator &
print(v&t)
## [1] FALSE FALSE FALSE
# Operator |
print(v|t)
## [1] TRUE TRUE FALSE
2.5 Memasukkan Nilai Kedalam Variabel
Variabel pada R dapat digunakan untuk menyimpan nilai. Sebagai contoh jalankan sintaks berikut:
# Harga sebuah lemon adalah 500 rupiah
lemon <- 500
# Atau
500 -> lemon
# dapat juga menggunakan tanda "="
lemon = 500
Penting!!!
Untuk mengetahui nilai dari objek lemon kita dapat menggunakan fungsi print() atau mengetikkan nama objeknya secara langsung.
# Menggunakan fungsi print()
print(lemon)
## [1] 500
# Atau
lemon
## [1] 500
R akan menyimpan variabel lemon sebagai objek pada memori. Sehingga kita dapat melakukan operasi terhadap objek tersebut seperti mengalikannya atau menjumlahkannya dengan bilangan lain. Sebagai contoh jalankan sintaks berikut:
# Operasi perkalian terhadap objek lemon
5*lemon
## [1] 2500
Kita dapat juga mengubah nilai dari objek lemon dengan cara menginput nilai baru terhadap objek yang sama. R secara otomatis akan menggatikan nilai sebelumnya. Untuk lebih memahaminya jalankan sintaks berikut:
lemon <- 1000
# Print lemon
print(lemon)
## [1] 1000
Untuk lebih memahaminya berikut adalah sintaks untuk menghitung volume suatu objek.
# Dimensi objek
panjang <- 10
lebar <- 5
tinggi <- 5
# Menghitung volume
volume <- panjang*lebar*tinggi
# Print objek volume
print(volume)
## [1] 250
Untuk mengetahui objek apa saja yang telah kita buat sepanjang artikel ini kita dapang menggunakan fungsi ls()
ls()
## [1] "lebar" "lemon" "panjang" "t" "tinggi" "v" "volume"
## [8] "x" "y"
Untuk menghapus objek pada memori kita dapat menggunakan fungsi rm(). Pada sintaks berikut penulis hendak menghapus objek lemon dan volume.
# Menghapus objek lemon dan volume
rm(lemon, volume)
# Tampilkan kembali objek yang tersisa
ls()
## [1] "lebar" "panjang" "t" "tinggi" "v" "x" "y"
2.6 Tipe dan Struktur Data
Data pada R dapat dikelompokan berdasarkan beberapa tipe
Tipe Data Contoh Keterangan
Logical TRUE, FALSE Nilai Boolean
Numeric 12.3, 5, 999 Segala jenis angka
Integer 23L, 97L, 3L Bilangan integer (bilangan bulat)
Complex 2i, 3i, 9i Bilangan kompleks
Character ‘a’, “b”, “123” Karakter dan string
Factor 1, 0, “Merah” Dapat berupa numerik atau string (namun pada proses akan terbaca sebagai angka)
Raw Identik dengan “hello” Segala jenis data yang disimpan sebagai raw bytes
Sintaks berikut adalah contoh dari tipe data pada R. Untuk mengetahui tipa data suatu objek kita dapat menggunakan perintah class()
# Logical
apel <- TRUE
class(apel)
## [1] "logical"
# Numeric
x <- 2.3
class(x)
## [1] "numeric"
# Integer
y <- 2L
class(y)
## [1] "integer"
# Compleks
z <- 5+2i
class(z)
## [1] "complex"
# string
w <- "saya"
class(w)
## [1] "character"
# Raw
xy <- charToRaw("hello world")
class(xy)
## [1] "raw"
Keenam jenis data tersebut disebut sebagai tipe data atomik. Hal ini disebabkan karena hanya dapat menangani satu tipe data saja. Misalnya hanya numeric atau hanya integer.
Membuat vektor
Vektor dibuat dengan menggunakan fungsi c()(concatenate) seperti yang disajikan pada sintaks berikut:
# membuat vektor numerik
x <- c(3,3.5,4,7)
x # print vektor
## [1] 3.0 3.5 4.0 7.0
# membuat vektor karakter
y <- c("Apel", "Jeruk", "Rambutan", "Salak")
y # print vektor
## [1] "Apel" "Jeruk" "Rambutan" "Salak"
# membuat vektor logical
t <- c("TRUE", "FALSE", "TRUE")
t # print vektor
## [1] "TRUE" "FALSE" "TRUE"
selain menginput nilai pada vektor, kita juga dapat memberi nama nilai setiap vektor menggunakan fungsi names()
# Membuat vektor jumlah buah yang dibeli
Jumlah <- c(5,5,6,7)
names(Jumlah) <- c("Apel", "Jeruk", "Rambutan", "Salak")
# Atau
Jumlah <- c(Apel=5, Jeruk=5, Rambutan=6, Salak=7)
# Print
Jumlah
## Apel Jeruk Rambutan Salak
## 5 5 6 7
Untuk menentukan panjang sebuah vektor kita dapat menggunakan fungsi lenght().
length(Jumlah)
## [1] 4
2.8 Matriks
Matriks seperti Excel sheet yang berisi banyak baris dan kolom (kumpulan bebrapa vektor). Matriks digunakan untuk menggabungkan vektor dengan tipe yang sama, yang bisa berupa numerik, karakter, atau logis. Matriks digunakan untuk menyimpan tabel data dalam R. Baris-baris matriks pada umumnya adalah individu / pengamatan dan kolom adalah variabel.
Membuat matriks
Untuk membuat matriks kita dapat menggunakan fungsi cbind() atau rbind(). Berikut adalah contoh sintaks untuk membuat matriks.
# membuat vektor numerik
col1 <- c(5, 6, 7, 8, 9)
col2 <- c(2, 4, 5, 9, 8)
col3 <- c(7, 3, 4, 8, 7)
# menggabungkan vektor berdasarkan kolom
my_data <- cbind(col1, col2, col3)
my_data
## col1 col2 col3
## [1,] 5 2 7
## [2,] 6 4 3
## [3,] 7 5 4
## [4,] 8 9 8
## [5,] 9 8 7
# Mengubah atau menambahkan nama baris
rownames(my_data) <- c("row1", "row2",
"row3", "row4",
"row5")
my_data
## col1 col2 col3
## row1 5 2 7
## row2 6 4 3
## row3 7 5 4
## row4 8 9 8
## row5 9 8 7
Mungkin itu saja kurang lebihnya saya mohon maaf