MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 1
REVIEW : PENDAHULUAN & PENGANTAR R (PART 2)
Fungsi dan Packages pada R
Pada dasarnya R adalah bahasa pemrograman functional. R menyediakan banyak alat untuk pembuatan dan manipulasi fungsi. Karena dibuat untuk memudahkan analisis data, R mempunyai banyak fungsi yang tersedia untuk melakukan analisis statistik. Misalkan, untuk mendapatkan nilai rata-rata dari sebuah vektor numerik, dapat menggunakan fungsi mean().
Untuk mendapatkan milai minimum atau maksimum, tersedia fungsi min() dan max().
Fungsi sd() dapat digunakan untuk mendapatkan nilai standard deviasi atau fungsi var() untuk mendapatkan nilai ragam (varians), dan sebagainya.
Fungsi Keterangan
min(), max() Minimum dan maksimum is.vector(), is.factor(),
is.matrix(), is.array()
Menguji type data: vector, factor, matrix atau array nchar() Banyaknya karakter dalam string
paste() Menciptakan atau menjadikan mode objek menjadi karakter substr(), substring() Mengambil bagian dalam string
dim() Dimensi matriks dimnames() Nama dimensi matriks
nrow() Banyak baris matriks ncol() Banyak kolom matriks
diag() Membuat matriks diagonal atau mengambil diagonal matriks t() Transpose matriks
det() Determinan matriks solve() Invers dari matriks
eigen() Nilai eigen dan vektor eigen dari matriks crossprod() Cross product dari matriks atau t(x)%*%x
sort() Fungsi untuk mengurutkan A ke Z rev() Fungsi untuk mengurutkan Z ke A
range() Fungsi untuk nilai minimum dan maksimum mean() Rata-rata
median() Median
sd() Simpangan baku var() Varians
cor(,) Korelasi
apply() Mengaplikasikan beberapa fungsi pada margin array tertentu lapply() Mengaplikasikan fungsi tertentu pada list atau vektor
tapply() Mengaplikasikan fungsi tertentu pada array
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 2 Contoh penggunaan fungsi :
x <- seq(1, 100, by=4) mean(x)
min(x) max(x) range(x) summary(x)
Jika fungsi atau data yang akan Anda gunakan berasal dari sebuah package, maka Anda dapat gunakan fungsi library(namapackage) untuk mengaktifkan package tersebut. Tentunya package tersebut harus sudah terinstall sebelumnya. Install package di R sangat mudah dengan fungsi install.packages("namapackage") atau melalui menu Install di tab Packages di RStudio. Yang perlu diperhatikan ketika akan install package adalah koneksi internet, nama package dan repository-nya. Adapun nama package juga harus sesuai dari penulisannya, termasuk huruf kapitalnya. Misalnya Anda ingin install package {nycflights13}, maka Anda harus menuliskannya dengan install.packages("nycflights13"). Jika penulisannya tidak sama maka package tersebut tidak akan terinstall.
install.packages("nycflights13") library(nycflights13)
head(flights)
Ketika akan menggunakan sebuah fungsi di R, ada baiknya untuk Anda mengetahui beberapa hal tentang fungsi tersebut. Yang harus diketahui dari sebuah fungsi paling tidak adalah untuk apa fungsi tersebut digunakan, apa saja argumen yang diperlukan, bagaimana penggunaannya dan output seperti apa yang dihasilkan. Jika Anda menggunakan RStudio maka menggunakan fitur tab Help.
?mean
help("mean")
help("read_excel", package = "readxl")
Pembuatan Fungsi pada R
Ketika kita membuat script yang akan digunakan berulang kali dengan nilai input yang berbeda, maka ada baiknya script tersebut dibuatkan menjadi sebuah fungsi sesuai dengan
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 3 kebutuhan atau User-Defined Function. Untuk membuat fungsi di R Anda dapat menggunakan fungsi function().
Namafungsi <- function(parameter) {
Isi Fungsi }
Contoh pembuatan fungsi :
#Fungsi penjumlahan
sum_ab <- function(a, b) {
d <- a + b return(d) }
#Memanggil fungsi sum_ab(a=5, b=7)
Struktur Kendali
Struktur kendali pada bahasa pemrograman R dapat menggunakan fungsi if(). Argumen yang dibutuhkan pada fungsi if() adalah sebuah vektor yang bernilai TRUE atau FALSE.
if(kondisi) {
statement jika kondisi benar }
Contoh penggunaan fungsi if:
if(2 < 3) {
print("Kondisi tersebut benar") }
if(2 < 3) print("Kondisi tersebut benar") if(2 < 1) print("Kondisi tersebut benar")
Ekspresi atau perintah yang ada pada kondisi else{} akan dijalankan ketika kondisi pada if() bernilai salah.
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 4 if(kondisi)
{
Statement jika kondisi benar }else
{
Statement jika kondisi salah }
Contoh penggunaan fungsi if dan else : if(2 > 3)
{
print("Kondisi tersebut benar") }else
{
print("Kondisi tersebut salah") }
if(2>3) print("Kondisi tersebut benar") else print("Kondisi tersebut salah")
x <- 5 if(x>0) {
print("Bilangan Positif") } else
if(x<0) {
print("Bilangan Negatif") } else
{
print("nol") }
Untuk kasus dimana nilai yang ada pada kondisi berisi lebih dari satu nilai benar atau salah, evaluasi dapat dilakukan dengan menggunakan fungsi ifelse().
ifelse(kondisi, true, false)
Contoh penggunaan fungsi ifelse : x <- c(1, 2, 3, 4)
ifelse(x%%2==0,"genap","ganjil")
Selain fungsi if() yang dapat digunakan sebagai struktur kendali, di R juga terdapat fungsi switch(). Cara kerja fungsi switch() secara umum mirip seperti fungsi if(), yaitu menjalankan perintah yang sesuai dengan kondisi yang ada. Fungsi ini secara umum digunakan
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 5 untuk menjalankan suatu perintah berdasarkan pilihan yang sudah ditentukan dan dibuat di dalam sebuah function.
S <- function(x, type) {
x = as.vector(x) switch(type,
mean = mean(x), median = median(x), sd = sd(x),
var = var(x)) }
x = 1:12 S(x, "sd")
Struktur Pengulangan (Looping) Looping for
Looping for() umumnya digunakan ketika kita mengetahui berapa kali iterasi yang akan dilakukan. Bentuk umum dari looping for() adalah sebagai berikut:
for(indeks in vector) statement
# atau
for(indeks in vector) {
statement1 statement2 …
}
Fungsi for() membutuhkan 2 argumen utama, yaitu sebuah objek yang akan menjadi indeks dan sebuah vektor atau list. Objek indeks yang nantinya akan bernilai sesuai dengan urutan yang ada pada vector tersebut. Kemudian ekspresi pada for() berisikan perintah atau program yang akan dijalankan. Contoh penggunaan looping for() :
for(i in 1:5) {
msg <- paste0("looping for ke-",i) message(msg)
}
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 6 Looping while
Berbeda dengan fungsi for() yang digunakan ketika kita sudah mengetahui banyaknya iterasi yang akan dijalankan, baik itu secara eksplisit ataupun secara pemrograman, while() digunakan ketika kita tidak mengetahui banyaknya iterasi yang akan dijalankan namun mengetahui kondisi logical yang menjadi syarat program tersebut tetap berjalan. Bentuk umum dari looping while() adalah sebagai berikut.
while(kondisi) {
statement1 statement2 …
}
Argumen kondisi adalah sebuah nilai logical (TRUE atau FALSE). Ekspresi atau perintah yang ada di dalam while() akan terus dijalankan selama kondisi bernilai TRUE. Satu hal penting yang harus diperhatikan ketika menggunakan while() adalah kita harus bisa memastikan bahwa argumen kondisi suatu saat akan bernilai FALSE agar iterasinya berhenti.
i <- 0
while(i < 5) {
print(i) i < i + 1 }
i <- 0
while(i < 5) {
i < i + 1 print(i) }
MODUL PRAKTIKUM KOMPUTASI STATISTIKA
Program Studi Statistika FMIPA Unisba - 7 Looping repeat
Adapun looping repeat ini lebih mirip dengan while() karena syarat berhenti iterasinya berdasarkan suatu kondisi logical menggunakan if(kondisi) break.
repeat {
statement …
if(kondisi) break }
Contoh penggunaan repeat : i <- 0
repeat {
if(i>4) break i <- i + 1 print(i) }