Modul Pengenalan RStudio
Modul Pengenalan RStudio
Dasar Pemrograman
R adalah sebuah program komputasi statistika dan grafis (R Core Team 2020). Saat ini R sudah dikenal
luas sebagai salah satu powerful software untuk analisis data dan data science. Tentu saja selain R masih
banyak software lain yang juga sering digunakan untuk analisis data, misalnya Python. R dibuat dengan
tujuan awal untuk komputasi statistika dan grafis. Awalnya digunakan oleh para ilmuwan dalam riset
mereka dan para akademisi. Namun seiring perkembangan teknologi, cakupan kemampuan R sebagai
bahasa pemrograman menjadi jauh lebih luas. Anda dapat membuat dan update report rutin menggunakan
R Markdown. Anda juga dapat membuat aplikasi web interaktif atau dashboard dengan package shiny.
Karena R didesain untuk analisis data dan perkembangan serta kemampuannya mencakup hampir semua
lini dalam analisis data, tidak heran saat ini banyak analis data dan ilmuwan data (data scientist)
menggunakan R untuk menyelesaikan berbagai masalah mereka. Berikut ini beberapa kemampuan R.
Kelebihan R :
Gratis dan Open Source
Merujuk kepada opensource.com, istilah open source merujuk kepada sesuatu yang bisa dimodifikasi dan
dibagikan. Open Source Software (OSS) sendiri berarti software yang source code-nya dapat diperiksa, dimodifikasi,
ditambahkan dan dibagikan oleh siapapun.
Membuat Reproducible report
Ketika Anda mempunyai pekerjaan untuk membuat laporan secara rutin, maka Anda dapat menggunakan R sebagai
robot Anda. Dengan package {rmarkdown} Anda dapat membuat laporan rutin dengan hanya satu baris perintah.
- Bisa digunakan untuk banyak hal seperti proses cleansing dan manipulasi data, analisis
data dan pembuatan model, analisis spasial, data visualisasi, analisis teks dengan
Natural Language Processing, dll.
- Script yang ada bisa disimpan sehingga bisa digunakan jika ada kasus yang sama.
- Eksekusi coding di R terbilang cukup lama, apalagi data yang kamu miliki adalah data
yang berukuran besar
https://cran.r-project.org
RStudio
RStudio adalah Integrated Development Environment (IDE) untuk R yang banyak digunakan hingga saat
ini. Dapat dikatakan bahwa hampir semua pengguna R yang sudah mengetahui RStudio akan lebih
memilih menggunakan R melalui RStudio dibandingkan dengan menggunakan R GUI.
Sangat disarankan untuk menggunakan RStudio versi terbaru, termasuk juga dengan R. R dan RStudio
adalah dua program yang berbeda. Tidak harus install RStudio untuk dapat menggunakan program R
(melalui R GUI). Tapi diwajibkan untuk install R terlebih dahulu sebelum install dan menggunakan
RStudio karena RStudio membutuhkan program R yang sudah terinstall di PC atau server. Perumpamaan
R ini seperti kerangka mobil dan mesinnya, sedangkan RStudio seperti kerangka luar mobil dan
interiornya. Anda tidak akan dapat menggunakan mobil tersebut jika Anda hanya mempunyai kerangka
luar dan dashboardnya (RStudio) saja.
Download dan Install RStudio
https://www.rstudio.com/products/rstudio/download/
Membuat Project
Akan muncul hasil [1] 6. Hasil [1] menunjukkan bahwa yang ditampilkan adalah dari elemen pertama.
Tanda > adalah prompt yang menunjukkan bahwa R sedang dalam posisi siap menerima perintah baru. Jika perintah
belum lengkap maka akan berganti menjadi tanda +. Artinya ada perintah atau bagian script yang belum selesai.
>2+
+
Perhatikan setelah ditekan tombol Enter maka kursor di R yang sebelumnya > berganti + yang menandakan bahwa
perintah belum lengkap. Maka jika kita kembali menuliskan bilangan lain, misalkan 4 dan tekan tombol Enter maka
prompt di R akan kembali menjadi > setelah menuliskan hasilnya karena perintah sudah lengkap dan selesai.
>2+
+4
## [1] 6
R adalah bahasa pemrograman yang case-sensitive. Artinya perbedaan huruf kapital dan huruf kecil sangat
berpengaruh. Karena itu, penulisan nama objek atau nilai berupa karakter sangat tergantung dari kapitalisasinya.
Perhatikan perbedaan dari kedua contoh berikut ini.
a <- 3
a
## [1] 3
A
## Error: object 'A' not found
Misalnya membuat sebuah objek bernama a dengan nilai sebuah konstanta. Ketika ingin mengambil nilai dari objek
tersebut maka hanya bisa memanggil dengan nama yang sama persis. Kita tidak bisa memanggil objek tersebut
dengan nama lain meskipun ketika mengucapkan dengan suara pengucapan yang sama. Kita tidak bisa memanggil
objek a tersebut dengan A.
Ketika objek yang dipanggil belum ada di session atau workingspace R saat ini maka akan muncuk error seperti
contoh di atas.
Assignment
Apakah tidak bisa menggunakan operator = sebagai operator assignment? Tentu saja juga bisa menggunakannya.
x=5
Hal ini sangat membantu jika Anda seorang programmer yang menggunakan bahasa pemrograman lain yang
menggunakan operator = sebagai operator assignment. Jadi, tidak perlu bingung dengan “Kapan saya harus
menggunakan<- atau =?”. Tapi biasakan menggunakan <- saat membuat program menggunakan R. Jika menggunakan
RStudio, dapat menuliskan operator <- dengan menekan tombol ALT + -. Jika ingin mengetahui nilai suatu objek cukup
panggil objek tersebut atau gunakan fungsi print().
x
## [1] 5
# or
print(x)
## [1] 5
Vector
Vector adalah objek data paling sederhana yang ada di dalam R. Secara umum jenis
vector terbagi 2, yaitu numeric dan character. Ada banyak sekali cara untuk
membuat sebuah vector di R.
Fungsi c()
Fungsi yang paling sering digunakan untuk membuat sebuah vector adalah dengan menggunakan fungsi c().
x <- c(2, 1, 5, 3, 1)
x
## [1] 2 1 5 3 1
Pada script di atas, dibuat sebuah objek x berupa vector numeric. Setiap elemen dipisah menggunakan tanda
koma (,). Fungsi ini dapat digunakan untuk membuat vector numeric atau character. Indeks di R dimulai dari 1,
tidak seperti kebanyakan bahasa pemrograman lain yang indeksnya dimulai dari 0. Hal ini cukup memudahkan
pengguna karena umumnya manusia menghitung mulai dari 1, bukan dari 0.
ketika Anda ingin mengambil elemen ke 2 dari vector x, maka Anda dapat menjalankan perintah
x[2]
## [1] 1
Tanda titik dua/colon ( : )
Untuk membuat sebuah vector numeric berurutan secara meningkat atau menurun. Lihat contoh berikut ini.
x <- 1:10 # 1 sampai 10
x
## [1] 1 2 3 4 5 6 7 8 9 10
Fungsi dari operator : pada contoh di atas adalah membuat vector numeric dengan nilai dari 1 s/d 10. Tentu saja
operator increment ini hanya dapat digunakan untuk numeric dan meningkat sebesar 1 nilai. Operator ini dapat
juga digunakan untuk membuat vector dengan nilai menurun.
# membuat vector numeric dengan nilai dari 10 s/d -10 secara menurun 1
x <- 10:-10 # 10 sampai -10
x
## [1] 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 ## [20] -9 -10
Fungsi seq()
Fungsi ini dapat digunakan untuk membuat vector berurutan dan dengan increment tertentu.
x <- seq(from = 1, to = 10) # 1 sampai 10 dengan increment 1 (default by = 1)
x
## [1] 1 2 3 4 5 6 7 8 9 10
Secara default increment dari fungsi seq() adalah by = 1. Jika Anda ingin nilai increment lain maka hanya perlu
mengganti nilai pada argumen by. Fungsi ini juga hanya dapat digunakan untuk membuat vector numeric.
x <- seq(from = 1, to = 20, by = 2) # 1 sampai 20 dengan increment 2
x
## [1] 1 3 5 7 9 11 13 15 17 19
x <- seq(from = 1, to = 10, length.out = 7) # 1 sampai 10, sebanyak 7 elemen, increment mengikuti
x
## [1] 1.0 2.5 4.0 5.5 7.0 8.5 10.0
x <- seq(from = 1, to = 10, along.with = 1:4) # 1 sampai 10, sebanyak elemen dari vector lain
x
## [1] 1 4 7 10
Fungsi rep()
Dengan fungsi rep() dapat membuat sebuah vector dengan mengulang-ulang nilai yang diinginkan sebanyak
yang dibutuhkan.
# Membuat sebuah vector numeric yang semua elemennya bernilai 3 sebanyak 10 elemen
x <- rep(3, 10)
x
## [1] 3 3 3 3 3 3 3 3 3 3
Vector Character
Jika ketika membuat sebuah vector bernilai numeric namun ada satu saja elemennya bertipe character maka
semua elemennya akan bertipe character.
c(1, 2, 3, 5, "a")
## [1] "1" "2" "3" "5" "a”
LETTERS
## [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" ## [20] "T" "U" "V"
"W" "X" "Y" "Z”
Vector Character
Dua buah vector atau lebih dapat digabungkan dengan fungsi c(). Namun, jika salah satu vector bertipe
character, maka vector hasil gabungan akan menjadi vector character. Contoh di bawah ini menggabungkan
vector x dan y. Vector x adalah vector numeric, sedangkan y adalah vector character. Karena ada satu atau lebih
elemen yang berupa character, maka ketika x dan ydigabungkan akan menjadi vector character.
c(x, y)
## [1] "3" "3" "3" "3" "3" "3" "3" "3" "3" "3" "a" "A" "d" "c”
Cara lain yang dapat digunakan untuk membuat vector character adalah menggunakan
fungsi paste(), paste0() atau sprintf(). Jalankan dan perhatikan perbedaan dari contoh perintah di bawah ini.
paste("A", 1:5)
## [1] "A 1" "A 2" "A 3" "A 4" "A 5”
paste0("A", 1:5)
## [1] "A1" "A2" "A3" "A4" "A5”
sprintf("A%s", 1:5)
## [1] "A1" "A2" "A3" "A4" "A5"
Matrix
Matriks adalah objek di R yang memiliki 2 dimensi, baris (row) dan kolom
(column), dan tipe nilainya sama. Jika ketika membuat sebuah matriks elemennya
memiliki minimal 1 elemen bertipe character maka seluruh matriks tersebut akan
bertipe character.
Membuat matriks di R menggunakan vector yang dikonversi dimensinya.
Karena vector x memiliki 32 elemen, maka dimensi matriks yang dapat dibuat adalah 2 angka yang hasil
perkaliannya menghasilkan nilai 32. Salah satunya adalah 8 x 4 = 32.
m <- matrix(data = x, nrow = 8, ncol = 4)
m
## [,1] [,2] [,3] [,4]
## [1,] 21.0 22.8 14.7 19.2
## [2,] 21.0 19.2 32.4 27.3
## [3,] 22.8 17.8 30.4 26.0
## [4,] 21.4 16.4 33.9 30.4
## [5,] 18.7 17.3 21.5 15.8
## [6,] 18.1 15.2 15.5 19.7
## [7,] 14.3 10.4 15.2 15.0
## [8,] 24.4 10.4 13.3 21.4
Argumen byrow = TRUE artinya matriks akan setiap elemen x diisikan ke m memenuhi baris terlebih dahulu.
Jika byrow = FALSE maka setiap elemen x diisikan ke m berdasarkan kolom terlebih dahulu.
matrix(1:10, ncol = 5, nrow = 2, byrow = TRUE)
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 6 7 8 9 10
Untuk membuat matriks dengan nilai yang sama seluruhnya, maka dapat dilakukan seperti berikut.
matrix(data = 0, nrow = 5, ncol = 6)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 0 0 0 0 0 0
## [2,] 0 0 0 0 0 0
## [3,] 0 0 0 0 0 0
## [4,] 0 0 0 0 0 0
## [5,] 0 0 0 0 0 0
Untuk mengakses elemen dari suatu matriks, Anda dapat menggunakan indeks dari baris atau kolomnya.
# Mengambil elemen matriks `m` di baris 4
m[4, ]
## [1] 21.4 16.4 33.9 30.4
Kita juga dapat mengganti nilai dari elemen suatu matriks dengan menggunakan operator assignment.
m[4, 3] <- 0
m[4, 3]
## [1] 0
Jalankan program berikut untuk memastikan semua package yang dibutuhkan sudah terinstall.
{ if(!require(readr)){
install.packages("readr")
}
if(!require(readxl)){
install.packages("readxl")
}
if(!require(writexl)){
install.packages("writexl")
}
if(!require(RMySQL)){
install.packages("RMySQL")
}
if(!require(RPostgres)){ install.packages("RPostgres")
}
}
Jenis file yang akan dibahas adalah textfile (*.txt), CSV (*.csv) dan Excel file.
Textfile
Textfile adalah salah satu jenis file yang sering digunakan untuk menyimpan atau bertukar data. Aktifkan
package yang dibutuhkan dengan menggunakan fungsi library(). Untuk import data dari textfile, kita dapat
menggunakan fungsi read.delim() dari package {readr}.
library(readr)
Kita dapat menggunakan fungsi read.delim() seperti di bawah ini. Argumen file = adalah lokasi dan nama file
yang ingin kita import. Kemudian argumen delim = adalah untuk menunjukkan delimiter/separator/pemisah
kolom yang ada pada file tersebut. Argumen header = TRUE jika baris pertama pada file tersebut adalah nama
kolom. Contoh perintah di bawah ini akan menyimpan hasil import (jika berhasil) ke dalam sebuah objek
dataframe bernama iris.
iris
tinggi berat
1 178 80
2 156 57
3 155 48
4 167 66
5 170 65
CSV
Selain textfile, CSV juga merupakan format file yang sering digunakan untuk menyimpan atau bertukar data. Package {readr}
menyiapkan fungsi read.csv() untuk import data dari file CSV.
iris2
tinggi.berat
1 178;80
2 156;57
3 155;48
4 167;66
5 170;65
iris2
tinggi berat
1 178 80
2 156 57
3 155 48
4 167 66
5 170 65
Excel
Jenis file lain yang juga sering digunakan adalah file Excel. Kita dapat menggunakan package {readxl} dengan
fungsi read_excel() untuk import data dari file Excel. Argumen path = adalah lokasi dan nama file Excel yang
akan kita gunakan.
library(readxl)
iris3 <- read_excel("//Users/yeye/Downloads/Book1.xls")
iris3
# A tibble: 5 × 2
tinggi berat
<dbl> <dbl>
1 178 80
2 156 57
3 155 48
4 167 66
5 170 65
GitHUB
dqlab.id
rpubs
Data parametrik yang waktu uji korelasi, carilah nilai-nilai
berikut di R:
TUGAS 1. Rata-rata
2. Median
3. Modus
4. Varians
5. Standar Deviasi
6. Jumlah data untuk masing-masing kategori
7. Range
8. Nilai minimum
9. Nilai maksimum
10. Quartile 1 dan Quartile 3