Anda di halaman 1dari 12

Nama : M.

Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A

Laporan Praktikum Bahasa R


(mata kuliah probabilitas & statistika)
Untuk deklarasi variabel pada bahasa R, cukup menggunakan nama variabel, kemudian operator <-
dan diikuti oleh nilai/value yang diinginkan. Kemudian untuk membuat komentar pada bahasa R,
cukup menggunakan simbol #.

firstR <- “hello world”

Operator pada bahasa R antara lain sebagai berikut.

Aritmatika : +, -, *, /
Modulus : %%

If, else-if, else merupakan keyword untuk pengondisian. Jika kondisi tersebut benar, maka kode
dalam if akan dijalankan, namun jika kondisinya salah, maka kode dalam else akan dijalankan.
else-if bersifat opsional jika membutuhkan pengondisian lebih dari 2.

angka <- 10
if (angka %% 2 == 1) {
print('bilangan ganjil')
} else {
print('bilangan genap')
}
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
For merupakan keyword untuk melakukan perulangan, dimana perulangan tersebut sampai batas
sesuai keinginan.

for (i in c(1, 3, 5, 7, 9)) {


print(i)
}

Function merupakan sebuah wadah untuk mengelompokkan beberapa script code, ini bertujuan jika
script code tersebut ingin digunakan beberapa kali dengan efisien.
test <- function(angka) {
print(angka)
}
test(4)
test(2)

Vektor merupakan sekumpulan data dalam 1 variabel yang jumlahnya lebih dari 1 item. Tetapi
hanya 1 jenis tipe data saja, jika berbeda, maka akan disamakan secara otomatis. Adapun bentuk
keluaran(output) berbentuk 1 dimensi, untuk inisialisasinya sendiri menggunakan fungsi c().

vektor1 <- c(1, "hello")


vektor2 <- c(1, 5)
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
List mirip dengan vektor, tetapi niainya bisa beberapa jenis tipe data. Untuk inisialisasinya
menggunakan fungsi list().

test <- list("ahmad", 30, TRUE)


test

Matriks untuk menyimpan lebih dari 1 item nilai, tetapi hanya 1 jenis tipe data saja. Adapun bentuk
keluaran (output) berbentuk 2 dimensi. Untuk inisialisasinya sendiri, menggunakan fungsi matrix().

ujiCoba <- matrix(1:8, nrow = 4, ncol = 2)


ujiCoba

Data frame mirip dengan matriks, tetapi bisa memiliki beberapa jenis tipe data. Untuk inisialisasinya
sendiri, menggunakan syntax data.frame()

ujicoba <- data.frame(


'nama' = 'ahmad',
'umur' = 20
)
ujiCoba
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Factor untuk mengembalikan nilai dalam suatu vector/list menjadi lebih ringkas, ketika ada nilai
yang sama. Untuk inisialisasinya sendiri, mengunakan fungsi factor().

dataAwal <- c("hello", "world", "world", "hwllo")


updatingData <- factor(dataAwal)
updatingData

Dataset merupakan metode untuk mengakses kumpulan data dari sebuah informasi pada masa lalu,
yang kemudian bisa dikelola menjadi sebuah informasi. Contohnya saya ingin mengakses data
tentang mobil, dataset nya bernama “mtcars”.

data("mtcars")

Fungsi head(dataset) untuk mengakses 6 hasil observasi teratas dari suatu dataset.

data("mtcars")
observasiTeratas <- head(mtcars)
observasiTeratas

Fungsi tail(dataset) untuk mengakses 6 hasil observasi terakhir dari suatu dataset.

data("mtcars")
observasiTerakhir <- tail(mtcars)
observasiTerakhir
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
?dataset untuk mengakses dokumentasi dari suatu dataset, supaya bisa mempelajari atau
memahami dataset itu sendiri.

data("mtcars")
?mtcars

Fungsi str(dataset) untuk mengetahui struktur dari suatu dataset.

data("mtcars")
accessDatasetStructure <- str(mtcars)
accessDatasetStructure

Fungsi mean() untuk menghitung rata-rata dari suatu kolom. Contohnya menghitung rata-rata dari
kolom wt dalam dataset mtcars.

data("mtcars")
accessMean <- mean(mtcars$wt)
accessMean
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi median() untuk mencari nilai tengah dari suatu kolom. Contohnya mencari nilai tengah dari
kolom wt dalam datases mtcars.

data("mtcars")
accessMedian <- median(mtcars$wt)
accessMedian

Fungsi table() untuk menentukan modus (nilai dengan frekuensi terbesar). Contohnya mencari
modus pada cyl dalam dataset mtcars

data("mtcars")
accessModus <- table(mtcars$cyl)
accessModus

Dalam hasil tersebut, dapat disimpulkan bahwa pada kolom cyl, frekuensi terbesar pada angka 8,
karena angka tersebut sejumlah 14.

Fungsi range() untuk mengetahui nilai terbesar dengan nilai terkecil, contohnya mencari nilai
terbesar dan terkecil pada wt dalam dataset mtcars. Tetapi untuk mengetahui selisihnya, maka harus
dihitung secara manual.

data("mtcars")
accessRange <- range(mtcars$wt)
accessRange
<nilaiMax> - <nilaiMin>

Dalam hasil tersebut, selisih nilai terbesar dengan nilai terkecil yaitu 3.911
Fungsi IQR() untuk menentukan indikator sebaran data yang dihitung berdasarkan selisih antara
kuartil 3 (Q3) dengan kuartil 1 (Q1). Contohnya mencari IQR pada wt dalam dataset mtcars.

data("mtcars")
accessIqr <- IQR(mtcars$wt)
accessIqr
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi var() untuk menentukan varian, yaitu jumlah kuadrat deviasi observasi terhadap nilai mean
dibagi dengan deraja kebebasannya. Semakin besar nilai varian maka semakin besar sebaran data
dari mean. Contohnya mencari varian pada wt dalam dataset mtcars.

data("mtcars")
accessVar <- var(mtcars$wt)
accessVar

Fungsi sd() untuk menentukan standar deviasi, yaitu untuk menentukan penyimpangan/standar
deviasi dari suatu data. Contohnya mencari nilai standar deviasi pada wt dalam dataset mtcars.

data("mtcars")
accessStandardDeviation <- sd(mtcars$wt)
accessStandardDeviation

Fungsi summary() untuk mengetahui secara singkat tentang data numerik seperti mean, median,
kuartil1 (Q1), kuartil3(Q3), nilai minimum dan nilai maksimum. Fungsi ini dapat digunakan pada
seluruh variabel pada dataset yang mengandung data numerik maupun sebagian variabel pada
dataset. Contoh mengetahui detail data numerik pada dataset mtcars.

data("mtcars")
accesSummary <- summary(mtcars)
accesSummary

Adapun caranya untuk menginstall package dalam Rstudio yaitu:

install.packages("<nama package>")
install.packages(“plyr”)
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Kemudian untuk memanggil dan menggunakan package yang telah diinstal yaitu:

library(“<nama package>”)
library(plyr)

Adapun cara menggunakan dataset lokal yaitu sebagai berikut: (saya menggunakan file cane.csv)

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
head(dataLokal)

Fungsi xtabs() untuk meringkas suatu data dalam sebuah dataset, dengan mengelompokkan data ke
masing- masing grup.
xtabs(x~y+z, data)
keterangan x adalah kolom yang ingin diringkas, berdasarkan y dan z.

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
xtabs(n~var+block, dataLokal) -> dataN
xtabs(r~var+block, dataLokal) -> dataR
xtabs(x~var+block, dataLokal) -> dataX
head(dataN)
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi ftable() tujuannya sama seperti xtabs().

ftable(x)

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
xtabs(n~var+block, dataLokal) -> dataN
xtabs(r~var+block, dataLokal) -> dataR
xtabs(x~var+block, dataLokal) -> dataX
dataFn <- ftable(dataN)
dataFr <- ftable(dataR)
dataFx <- ftable(dataX)
displayData <- cbind(dataFn, dataFr, dataFx)
head(displayData)

Fungsi summary() telah dijelaskan sebelumnya, yaitu untuk mengetahui secara singkat tentang data
numerik seperti mean, median, kuartil1 (Q1), kuartil3(Q3), nilai minimum dan nilai maksimum.

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
summary(dataLokal)

Menyimpan hasil summary() dengan file tersendiri.

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
summary(dataLokal) -> summaryDataLokal
write.table(summaryDataLokal, "summary.txt", row.names = F)
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi aggregate() untuk mengelompokkan semua data ke dalam block masing-masing. Contoh
menghitung jumlah (sum) dari masing-masing block.

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
dataLokal
aggregate(x~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateX
aggregate(r~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateR
aggregate(n~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateN
aggregateX

Menggabungkan semua hasil data aggregate() menjadi satu, dengan menggunakan fungsi reduce()
dan library purrr.

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
dataLokal
aggregate(x~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateX
aggregate(r~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateR
aggregate(n~block, data = dataLokal, FUN = function(x){
sum(x)}) -> aggregateN
require(purrr)
reduce(list(aggregateX, aggregateR, aggregateN),
left_join,
by="block") -> mergeData
mergeData
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi t() untuk melakukan transpose, contoh melakukan transpose mergeData.

transposeMergeData <- t(as.matrix(mergeData[,2:4]))


transposeMergeData

Fungsi colnames() untuk memberi nama kolom pada hasil data frame/pengelompokan data.

colnames(transposeMergeData) <- aggregateX[,1]


transposeMergeData

Fungsi barplot() untuk membuat plot stack-bar. Contohnya membuat barplot di R dengan
menghitung jumlah (sum) dari masing-masing block.

barplot(transposeMergeData,
main = "sum of infected canes by block",
xlab = "variable",
col = c("darkblue", "red", "grey"),
legend = rownames(transposeMergeData),
beside = TRUE) -> barCane
barCane
Nama : M. Zakia Avlach
NIM : 19051214054
Kelas : Sistem Informasi 2019 A
Fungsi hist() untuk membuat tabel frekuensi dan histogram. contohnya membuat histogram untuk
variable r atau jumlah tunas yang terinfeksi.

hist(data, breaks=bin, include.lowest=T, plot=T)


#catatan fungsi diatas dapat diatur dengan tidak menampilkan histogram, dengan mengganti plot=F
atau plot=FALSE)

setwd("/Users/Zakia Avlach/Downloads")
read.csv("cane.csv", header = TRUE) -> dataLokal
dataLokal
rDatasetLokal <- dataLokal$r
bin <- seq(0, max(rDatasetLokal) +20, 20)
ranges <- paste(head(bin, -1), bin[-1], sep = ' - ')
frekuensi <- hist(rDatasetLokal,
breaks = bin,
include.lowest = TRUE,
plot = TRUE)
data.frame(range = ranges,
frequency = frekuensi$counts) -> sampelTabel
sampelTabel

Anda mungkin juga menyukai