pengantar
dasar
statistika
dengan r
NURUL AIN FARHANA
KATA PENGANTAR
Segala puji bagi Allah, Tuhan Yang Maha Esa atas rahmat dan
karunia-Nya, sehingga penulis dapat menyelesaikan modul praktikum.
Adapun, modul praktikum yang berjudul “Pengantar Dasar Statistika
dengan R” ini telah selesai dibuat secara semaksimal dan sebaik mungkin
agar menjadi manfaat bagi pembaca yang membutuhkan informasi dan
pengetahuan mengenai bagaimana sistem informasi manajemen.
Dalam modul ini, tertulis bagaimana pentingnya dan pengaplikasian
analisis data menggunakan software terutama opne source yaitu R juga
bagaimana materi yang disajikan yang relevan dengan mata kuliah
mengenai praktikum statistika yang menjadi alternatif pegangan bagi
mahasiswa dan dosen yang menempuh studi tersebut.
Penulis menyadari masih banyak luput dan kekeliruan yang tentu saja
jauh dari sempurna tentang modul ini. Untuk itu penulis mengharapkan
saran dan kritik membangun untuk perbaikan. Semoga modul ini dapat
bermanfaat bagi penulis dan pembaca.
Medan, 22 September 2022
Penulis
ii
DAFTAR ISI
KATA PENGANTAR ................................................................................. ii
DAFTAR ISI ............................................................................................. iii
DAFTAR GAMBAR .................................................................................. iv
DAFTAR TABEL .......................................................................................v
BAB I PENGANTAR DAN PENGENALAN R ...........................................1
1.1 Sejarang Singkat..............................................................................1
1.2 Instalansi R dalam Sistem Operasi Windows ...................................2
BAB II BAHASA DASAR PEMROGRAMAN ..........................................15
2.1 Assignment ....................................................................................16
2.2 Operator Assignment Lainnya........................................................17
2.3 Penamaan Objek ...........................................................................18
2.4 Vector ............................................................................................19
2.5 Factor ............................................................................................23
2.6 Matriks ...........................................................................................23
2.7 Array ..............................................................................................25
2.8 Dataframe ......................................................................................27
2.9 List .................................................................................................30
2.10 Function dan Packages..................................................................31
2.11 Mencari Help Sebuah Fungsi .........................................................36
BAB III IMPORT DAN EXPORT DATA ...................................................38
3.1 File Eksternal .................................................................................38
3.2 Database .......................................................................................41
3.3 File RDS ........................................................................................42
BAB IV MENYAJIKAN DATA DALAM BENTUK GRAFIK .....................44
4.1 Grafik Plot (Scatter Plot) ................................................................44
4.2 Grafik Garis (Line)..........................................................................46
4.3 Grafik Batang (Bagian Pertama) ....................................................47
4.4 Grafik Batang (Bagian Kedua) .......................................................48
4.5 Diagram Lingkaran (Pie Chart).......................................................50
4.6 Histogram ......................................................................................51
DAFTAR PUSTAKA................................................................................54
iii
DAFTAR GAMBAR
Gambar 1.1 Download R untuk Windows...................................................................3
Gambar 1.2 Menu untuk Menjalankan R .....................................................................3
Gambar 1.3 R GUI ..........................................................................................................4
Gambar 1.4 Ilustrasi R dan RStudio .............................................................................5
Gambar 1.5 Install Langkah 1 .......................................................................................5
Gambar 1.6 Install Langkah 2 .......................................................................................6
Gambar 1.7 Install Langkah 3 .......................................................................................6
Gambar 1.8 Install Langkah 4 .......................................................................................7
Gambar 1.9 Install Langkah 5 .......................................................................................7
Gambar 1.10 Pilihan Membuat Project di RStudio .....................................................8
Gambar 1.11 Pilihan New Project.................................................................................9
Gambar 1.12 Tipe New Project .....................................................................................9
Gambar 1.13 Penamaan Project.................................................................................10
Gambar 1.14 Tampilan Jendela awal RStudio..........................................................10
Gambar 1.15 Membuat Script Baru ............................................................................11
Gambar 1.16 Tampilan Script Baru ............................................................................11
Gambar 1.17 Menuliskan UNIMED Jaya di R ...........................................................12
Gambar 1.18 Menyimpan Script R..............................................................................13
Gambar 1.19 Memberi Nama Script R .......................................................................13
Gambar 1.20 Konfirmasi Menutup RStudio ...............................................................14
Gambar 2.1 Ilustrasi Array dengan 3 Dimensi ..........................................................26
Gambar 2.2 Dataframe terstruktur ..............................................................................27
Gambar 2.3 Ilustrasi Objek List di Dalam R...............................................................31
Gambar 4.1 Output Scatter Plot Sederhana..............................................................45
Gambar 4.2 Output Scatter Plot yang Lebih Detail...................................................45
Gambar 4.3 Grafik Garis Penjualan Mobil A, B, C....................................................47
Gambar 4.4 Barplot Penjual Mobil A dari Tahun 2000-2010...................................48
Gambar 4.5 Barplot Hobi Mahasiswa Laki-laki dan Perempuan di Universitas
ABC (a) ...........................................................................................................................49
Gambar 4.6 Barplot Hobi Mahasiswa Laki-laki dan Perempuan di Universitas
ABC (b) ...........................................................................................................................50
Gambar 4.7 Diagram Lingkaran Pengguna Merk Hp ...............................................51
Gambar 4.8 Histogram Data IQ Sederhana ..............................................................52
Gambar 4.9 Histogram Data IQ yang Sudah Dimodifikasi ......................................52
iv
DAFTAR TABEL
Tabel 2.1 Operator Assignment Lainnya....................................................................17
Tabel 4.1 Data Pendapatan dan Pengeluaran ..........................................................44
Tabel 4.2 Data Penjualan Mobil A, Mobil B, dan Mobil C ........................................46
Tabel 4.3 Data Pengguna Hp ......................................................................................50
v
BAB I
PENGANTAR DAN PENGENALAN R
1.1 Sejarang Singkat
Secara umum ada dua macam jenis paket software statistika untuk
keperluan analisis data, yaitu kelompok software komersial dan kelompok
software open source atau freeware. Beberapa jenis kelompok software
statistika komersial yang bisaa digunaka seperti SPSS, MINITAB, Eviews,
SAS, dan Splus. Sedangkan jenis kelompok software open source antara
lain R-Studio, Open Stats, Vista, Python dan lain sebagainya. Penggunaan
software statistika komersial mensyaratkan lisensi dengan harga yang
relatif mahal untuk kalangan pengguna di Indonesia. Adapun salah satu
alternatif penyelesaian dari mahalnya lisensi yang dipatok pada software
statistika komersial, pengguna dapat beralih ke software open source
khususnya R-Studio.
R dalam versi terakhirnya yaitu versi 4.2.1 per 01 Juli 2022 merupakan
suatu system dengan analisis data statistik yang komplet sebagai hasil dari
kolaborasi penelitian berbagai ahli statistik (statistisi) di seluruh dunia. Versi
awal dari R dibuat pada tahun 1992 di Universitas Auckland, New Zealand
oleh Ross Ihaka dan Robert Genteman. pada saat ini source code kernel R
dikembangkan terutama oleh R Core Team dari berbagai penjuru dunia
yang dapat diakses (http://www.r-project.org/contributors.html). Selain itu,
para statistisi lain pengguna R di seluruh dunia juga memberikan kontribusi
berupa kode, melaporkan bug, dan membuat dokumentasi untuk R.
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.
Pengguna dapat membuat dan update report rutin menggunakan R
Markdown dan dapat membuat aplikasi web interaktif atau dashboard
dengan package shiny. Karena R didesain untuk analisis data dan
1
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.
R adalah open source software, hampir semua package yang ada
pun dapat digunakan secara bebas. Package adalah kumpulan suatu
script yang umumnya berupa function atau data yang dapat digunakan
untuk kebutuhan tertentu. Selain itu banyak fungsi-fungsi dasar untuk
statistika maupun eksplorasi data dan grafis sederhana sudah terdapat di
R meskipun tanpa install package tambahan. Namun saat ini R sudah
menjadi salah satu software yang digunakan dalam data science karena
banyaknya package yang dapat mendukung. Kemampuan R dalam
transformasi data seperti penyiapan data, import dan export data dalam
berbagai format, dan lain-lain. Salah satu keunggulan yang dimiliki oleh
R adalah kemampuannya untuk menghasilkan grafik yang sangat bagus.
Salah satu yang diunggulkan adalah package {ggplot2}. Tentu saja masih
banyak package untuk visualisasi selain {ggplot2}. Paket statistik R
bersifat multiplatforms, dengan file instalasi binary/file tar tersedia untuk
system operasi Windows, Mac OS, Mac OS X, Linux, Free BSD, NetBSD,
irix, Solaris, AIX, dan HPUX.
1.2 Instalansi R dalam Sistem Operasi Windows
1.2.1 Download dan Install R
Di PC dengan OS Windows dapat melakukab langkah-langkah
berikut untuk install R
1. Buka halaman https://cran.r-project.org
2. Pilih Download R for Windows
2
Gambar 1.1 Download R untuk Windows
3. Simpan file installer tersebut dan tunggu hingga proses download
selesai.
4. Setelah download selesai, jalankan file R-4.2.1 tersebut
5. Dan tahap terakhir klik Next dan Finish
1.2.2 Menjalankan R
Setelah selesai install, lalu membuka R GUI.
1. Pada Windows 10, klik atau tekan tombol Start
2. Cari folder R dan pilih R sesuai versi yang sudah terinstall
Gambar 1.2 Menu untuk Menjalankan R
Di bawah ini adalah tampilan ketika membuka Program R GUI.
3
Gambar 1.3 R GUI
Pada tahap ini, kita sudah dapat menggunakan R melalui R GUI
ini. namun kita juga dapat menggunakan Integrated Development
Environment (IDE) unruk lebih nyaman, mudah dan efisien ketika
bekerja dengan R. IDE untuk R yang saat ini sering digunakan
adalah RStudio. Berikut ini adalah cara untuk menginstall RStudio di
PC Windows.
1.2.3 Install 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.
Download RStudio versi desktop sesuai dengan kebutuhan kita.
Sangat disarankan untuk menggunakan RStudio versi terbaru,
termasuk juga dengan R. R dan RStudio adalah dua program yang
berbeda. Kita tidak harus install RStudio untuk dapat menggunakan
program R (melalui R GUI). Namun kita diwajibkan untuk install R
terlebih dahulu sebelum install dan menggunakan RStudio karena
RStudio membutuhkan program R yang sudah terinstall di PC atau
4
server. Gambar 1.4 mengilustrasikan perumpamaan R ini seperti
kerangka mobil dan mesinnya, sedangkan RStudio seperti kerangka
luar mobil dan interiornya. Dari ilustrasi tersebut kita tidak akan dapat
menggunakan mobil jika kita hanya mempunyai kerangka luar dan
dashboardnya (RStudio) saja.
Gambar 1.4 Ilustrasi R dan RStudio
Berikut langkah-langkah menginstall RStudio:
1. Download RStudio Desktop
(https://www.rstudio.com/products/rstudio/download/)
2. Jalankan installer yang sudah didownload
3. Klik Next
Gambar 1.5 Install Langkah 1
5
1 Klik Next
Gambar 1.6 Install Langkah 2
2 Klik Install
Gambar 1.7 Install Langkah 3
6
3 Klik Next
Gambar 1.8 Install Langkah 4
4 Klik Finish
Gambar 1.9 Install Langkah 5
1.2.4 Penggunaan RStudio
a. Membuat Sebuah Project
Hal yang sebaiknya menjadi sebuah kebisaaan kita ketika
menggunaka RStudio adalah membuat sebuah Project untuk setiap
pekerjaan yang berbeda. Jika pekerjaan kita tidak terdapat data
yang confidential, dapat juga menggunakan GitHub repository
7
sebagai backup. Adapun langkah yang dapat dilakukan dalam
membuat sebuah project baru di RStudio dengan cara:
1. Pilih New Project dari 3 menu yang tersedia, dari menu File (a),
dari Toolbar (b), atau dari menu di pojok kanan atas seperti yang
terlihat pada Gambar 1.10
Gambar 1.10 Pilihan Membuat Project di RStudio
2. Menampilkan pilihan jenis project yang akan dibuat.
• New Directory: Pilihan ini jika belum mempunyai folder yang
akan dijadikan sebagai working directory untuk project yang
akan dibuat.
• Existing Directory: Jika sudah ada folder sebelumnya.
• Version Control: Jika akan membuat project berdasarkan
repository yang sudah ada, misalnya di GitHub.
8
Gambar 1.11 Pilihan New Project
3. Pilih Project Type sesuai dengan project yang akan kita buat
seperti yang terlihat pada Gambar 1.12. Misalnya untuk
membuat sebuah project kosong, pilih New Project.
Gambar 1.12 Tipe New Project
4. Tuliskan nama project yang akan menjadi nama folder baru
sebagai subfolder di dalam folder “Create project as subdirectory
of”seperti pada Gambar 1.13.
9
Gambar 1.13 Penamaan Project
5. Klik Create Project
b. Membuat File Script Baru
Seperti halnya pada R GUI, kita dapat menuliskan langsung
perintah atau script pada jendela console di RStudio. Berikut jendela
console RStudio.
Gambar 1.14 Tampilan Jendela awal RStudio
10
Namun pada modul ini kita akan menuliskan semua script di
bagian script editor. Hal ini sebaiknya menjadi kebisaaan kita ketika
menggunakan RStudio. Untuk membuat script editor baru di
RStudio, dengan mengeklik menu File >> New File >> R Script. Cara
yang kedua adalah dengan toolbar New File. Atau juga dapat
menggunakan shortcut RStudio dengan menekan tombol Ctrl +
Shift + N jika menggunakan OS Windows.
Gambar 1.15 Membuat Script Baru
Setelah menjalankan salah satu perintah di atas, maka akan
muncul file script kosong seperti tampilan Gambar 1.16.
Gambar 1.16 Tampilan Script Baru
11
c. Menjalankan Script Pada Script Editor
Setelah berhasil menyiapkan file script editor baru yang masih
kosong, kita dapat menuliskan semua algoritma atau kalimat
bisaapun yang ingin kita lakukan dengan R. Misalkan dengan
menuliskan UNIMED Jaya! kita hanya cukup menuliskan “UNIMED
Jaya!” di script editor, kemudian Run atau tankan tombol
Ctrl + Enter ketika cursor berada pada baris script tersebut
seperti tampilan pada Gambar 1.17.
Gambar 1.17 Menuliskan UNIMED Jaya di R
Selanjutnya untuk menyimpan script tersebut menjadi sebuah
file, dapat melakukan dengan a) klik lambing simpan, b) pilih menu
File >> Save atau Save As... atau c) menggunakan shortcut
dengan menekan tombol Ctrl + S.
12
Gambar 1.18 Menyimpan Script R
Kemudian tentukan lokasi folder tempat menyimpan file script
tersebut. Selanjutnya berikan nama file pada kota File name:
seperti pada Gambar 1.19. Terakhir klik Save.
Gambar 1.19 Memberi Nama Script R
d. Menutup RStudio
Setelah selesai menggunakan RStudio kita dapat menutupnya
seperti menutup software lainnya. Namun yang perlu di perhatikan
adalah ketika muncul konfirmasi seperti Gambar 1.20. Sangat
13
disarankan untuk tidak menyimpan workspace ketika menutup
RStudio. Karena ketika kita membuka kembali RStudio maka akan
memuat (loading) kembali semua yang disimpan dari pekerjaan
sebelumnya. Hal ini akan sangat berpengaruh ketika ukuran image
dari pekerjaan yang disimpan relatif besar.
Gambar 1.20 Konfirmasi Menutup RStudio
14
BAB II
BAHASA DASAR PEMROGRAMAN R
Pada Bab ini akan membahas hal-hal dasar tentang R yang harus
diketahui dan dikuasai. Hal yang plaing sederhana yang dapat dilakukan
oleh R adalah sebagai perhitungan atau kalkulator. Misalkan dengan
menjalankan perintah di bawah ini pada console RStudio dan tekan tombol
Enter setelah selesai.
1+6
[1] 7
Akan muncul hasil [1] 7. Hasil [1] menunjukkan bahwa yang
ditampilkan adalah elemen pertama, sedangkan 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.
>4+
+
Perhatikan setelah menekan tombol Enter maka kursor di R yang
sebelumnya > berganti menjadi tanda + yang menandakan bahwa perintah
belum lengkap. Jika kita kembali menuliskan bilangan lain, misalkan 10 dan
tekan tombol Enter maka prompt di R akan kembali menjadi tanda > setelah
menuliskan hasilnya karena perintah sudah lengkap dan selesai.
>4+
+ 10
[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 bergantung dari
jenis huruf yang dituliskan. Perhatikan perbedaan kedua contoh di bawah
ini:
x <- 5
x
15
[1] 5
X
Error: object 'X' not found
Misalnya kita membuat sebuag objek bernama x dengan nilai sebuah
konstanta. Ketika ingin mengambil nilai objek tersebut maka kita hanya bisa
memanggil dengan nama objek yang persis. Kita tidak bisa memanggil
objek tersebut dengan nama lain meskipun dengan mengetikkan nama
dengan huruf yang sama namun kapitalisasinya berbeda. Kita tidak dapat
memanggil objek x tersebut dengan X. Ketika objek yang kita panggil belum
ada di session atau workingspace R maka akan muncul keterangan error
seperti contoh di atas.
2.1 Assignment
Setiap pemrograman memiliki persamaan dan perbedaan. salah
satunya bahasa pemrograman R mempunyai sedikit perbedaan
dengan bahasa pemrograman pada umumnya. Adapun
perbedaannya terletak pada operator assignment. Hampir semua
bahasa pemrograman lain menggunakan tanda = sebagai operator
assignment. Namun di R, yang utama dan paling banyak digunakan
oleh pengguna R adalah operator panah kiri (<-). obj <- expr berarti
“masukkan nilai hasil dari operasi di sisi kanan (expr) ke dalam objek
di sisi kiri (obj)”. Pada contoh berikut, dengan memasukkan nilai
numerik 10 ke objek yang disebut x.
x <- 10
x
[1] 10
Apakah tidak bisa menggunakan operator = sebagai operator
assignment? Tentu saja kita masih bisa menggunakannya. Hal ini
sangat membantu jika seorang programmer yang menggunakan
bahasa pemrograman lain yang menggunakan operator = sebagai
operator assignment. Jadi Anda tidak perlu bingung dengan “Kapan
saya harus menggunakan <- atau =?”. Namun saat membuat program
menggunakan R agar dapat membisaakan menggunakan <-. Ketika
16
kita menggunakan RStudio, kita dapat menuliskan operator <- dengan
menekan tombol ALT + -. Selain itu ketika kita ingin mengetahui nilai
suatu objek cukup panggil objek tersebut atau gunakan fungsi
print().
x
[1] 10
# or
print(x)
[1] 10
2.2 Operator Assignment Lainnya
Ada beberapa operator assignment lainnya yang dapat
digunakan di R. Di bawah ini merupakan daftar operator assignment.
Tabel 2.1 Operator Assignment Lainnya
Operator Cakupan Penjelasan
<- Lokal/global Nilai dari sebelah kanan dimasukkan ke
dalam objek di sebelah kiri
-> Lokal/global Nilai dari sebelah kiri dimasukkan ke
dalam objek di sebelah kanan
<<- Global Nilai dari sebelah kanan dimasukkan ke
dalam objek global di sebelah kiri
->> Global Nilai dari sebelah kiri dimasukkan ke
dalam objek global di sebelah kanan
Sekarang, mari kita lihat operator ->.
# Contoh 1
x <- 10
10 -> x
x
[1] 10
# Contoh 1
y <- 3 + 5
3 + 5 -> y
y
[1] 8
Seperti yang kita lihat, operator -> memiliki sisi yang berlawanan
dengan <-. Nilai atau ekspresi yang mengembalikan nilai ada di sisi
17
kiri, sedangkan objek berada di sisi kanan. Untuk dua
operator assignment yang lain bisaanya hanya digunakan dalam
sebuah fungsi. Jika kita memasukan nilai baru ke dalam sebuah
objek yang sama maka nilai yang sebelumnya akan dihapus dan
digantikan dengan nilai yang baru.
# Nilai x sebelumnya
x
[1] 10
# Nilai x yang baru
x <- 8 + 5
x
[1] 13
# Nilai x yang baru
x <- x + 2
x
[1] 15
Ketika menggunakan R, setiap yang ada di R disebut objek. Jenis-
jenis objek data yang ada di R antara lain vector, factor, matriks,
array, dataframe, list dan objek berupa function.
2.3 Penamaan Objek
Aturan penamaan objek di R, seperti vector, matriks, dataframe
dan lain-lain, hampir sama dengan aturan penamaan pada bahasa
pemrograman lain. Namun ada beberapa aturan khusus yang terdapat
di R. Berikut merupakan aturan penamaan objek di R:
1. Menggunakan kombinasi alfabet (a-z, A-Z), angka (0-9), titik atau
underscore.
2. Tidak boleh diawali dengan angka.
3. Tidak mengandung spasi, tab atau karakter khusus seperti !, @,
# dan lainnya.
4. Sebaiknya tidak menggunakan beberapa penamaan atau nilai
yang sudah digunakan oleh R (function dan keyword lainnya).
Misalnya c, q, TRUE, FALSE, df, dt, rnorm, runif, rf, exp,
dan lain-lain.
18
2.4 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. Pada
pembahasan ini akan dibahas beberapa cara yang banyak dan
mungkin akan sering digunakan oleh programer.
1. Fungsi c()
Fungsi yang paling sering digunakan untuk membuat sebuah
vector adalah dengan menggunakan fungsi c().
x <- c(1, 7, 4, 6, 5)
x
## [1] 1 7 4 6 5
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
3 dari vector x, maka Anda dapat menjalankan perintah.
x[3]
[1] 4
2. Tanda Titik Dua/Colon (:)
Untuk membuat sebuah vector numeric berurutan secara
meningkat atau menurun. Lihat contoh berikut ini.
a <- 1:10 # 1 sampai 10
a
[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
19
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
b <- 10:-10 # 10 sampai -10
b
[1] 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -
4 -5 -6 -7 -8
[20] -9 -10
3. Fungsi seq()
Fungsi ini dapat digunakan untuk membuat vector berurutan
dan dengan increment tertentu.
x <- seq(from = 1, to = 5) # 1 sampai 10 dengan increment 1
(default by = 1)
x
[1] 1 2 3 4 5
Secara default increment dari fungsi seq() adalah by = 1. Jika
menginginkan nilai increment lain maka hanya perlu mengganti
nilai pada argumen by. Fungsi ini juga hanya dapat digunakan
untuk membuat vector numeric.
a <- seq(from = 1, to = 20, by = 2) # 1 sampai 20 dengan
increment 2
a
[1] 1 3 5 7 9 11 13 15 17 19
b <- seq(from = 1, to = 10, length.out = 7) # 1 sampai 10,
sebanyak 7 elemen, increment mengikuti
b
[1] 1.0 2.5 4.0 5.5 7.0 8.5 10.0
c <- seq(from = 1, to = 10, along.with = 1:4) # 1 sampai 10,
sebanyak elemen dari vector lain
c
[1] 1 4 7 10
4. Fungsi unlist() atau
Fungsi unlist() berguna untuk menjadikan
menggabungkan sebuah objek list menjadi sebuah vector.
x <- list(mtcars$mpg, mtcars$disp)
x
[[1]]
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4
17.3 15.2 10.4
20
[16] 10.4 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3
26.0 30.4 15.8 19.7
[31] 15.0 21.4
[[2]]
[1] 160.0 160.0 108.0 258.0 360.0 225.0 360.0 146.7 140.8
167.6 167.6 275.8
[13] 275.8 275.8 472.0 460.0 440.0 78.7 75.7 71.1 120.1
318.0 304.0 350.0
[25] 400.0 79.0 120.3 95.1 351.0 145.0 301.0 121.0
x <- unlist(x)
x
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2
17.8 16.4
[13] 17.3 15.2 10.4 10.4 14.7 32.4 30.4 33.9 21.5
15.5 15.2 13.3
[25] 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4 160.0
160.0 108.0 258.0
[37] 360.0 225.0 360.0 146.7 140.8 167.6 167.6 275.8 275.8
275.8 472.0 460.0
[49] 440.0 78.7 75.7 71.1 120.1 318.0 304.0 350.0 400.0
79.0 120.3 95.1
[61] 351.0 145.0 301.0 121.0
Catatan penting untuk vector: walaupun ditampilkan ke
samping, dimensi vector di R sebenarnya ke bawah. Bayangkan
saja untuk sebuah vector seperti satu kolom di Ms. Excel. Semua
Contoh di atas untuk membuat vector adalah vector numeric.
Vector numeric adalah vector yang semua elemennya bernilai dan
bertipe numerik.
5. Fungsi rep()
Dengan fungsi rep() kita dapat membuat sebuah vector
dengan mengulang-ulang nilai yang diinginkan sebanyak yang
dibutuhkan.
# Membuat sebuah vector numeric yang semua elemennya bernilai
2 sebanyak 5 elemen
p <- rep(2, 5)
p
[1] 2 2 2 2 2
21
6. Vector Character
Vector character adalah vector yang semua elemennya
bertipe character. Dan dalam penulisan di script untuk vector
character menggunakan tanda petik (“”).
y <- c("a", "A", "d", "c")
y
[1] "a" "A" "d" "c"
Ketika membuat sebuah vector bernilai numeric namun ada satu
saja elemennya yang bertipe character maka semua elemennya
menjadi bertipe character.
c(1, 2, 3, 5, "a")
[1] "1" "2" "3" "5" "a"
Di R ada 2 buah vector khusus yang bertipe character, yaitu
letters dan LETTERS. Perhatikan perintah berikut ini:
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"
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"
Dua buah vector atau lebih dapat digabungkan dengan fungsi c().
Namun, jika salah satu vector bertipe character, maka vector hasil
gabungan juga akan menjadi vector character. Contoh di bawah ini
menggabungkan vector a dan b. Vector a adalah vector numeric,
sedangkan vector b adalah vector character. Maka ketika a dan b
digabungkan akan menjadi vector character.
c(a, b)
## [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.
22
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"
2.5 Factor
Factor merupakan bentuk lebih luas dari vector. Bisaanya
factor lebih sering digunakan untuk menyimpan data nominal atau
ordinal. Misalnya vector character yang berisi "male" dan "female".
Pada vector character, nilainya adalah "male" dan "female" seperti
terlihat apa adanya. Namun pada factor, tampilan dari isi datanya
mungkin "male" dan "female" tetapi isi dari factor adalah
pengkodean numerik. Misal untuk "male" nilai sebenarnya adalah 1,
sedangkan "female" bernilai 2.
fc <- factor(c("male", "female", "female", "male", "female",
"male", "male", "male"))
fc
[1] male female female male female male male male
Levels: female male
Nilai sebenarnya dari factor tersebut adalah
print.default(fc)
[1] 1 2 2 1 2 1 1 1
Factor mempunyai level, secara default levelnya adalah
berdasarkan urutan alfabet. Untuk merubah level dari sebuah factor,
gunakan argumen levels =.
factor(fc, levels = c("female", "male"))
[1] male female female male female male male male
Levels: female male
factor(fc, levels = c("female", "male"), ordered = TRUE)
[1] male female female male female male male male
Levels: male < female
2.6 Matriks
Matriks merupakan objek di R yang memiliki 2 dimensi, baris
(row) dan kolom (column), dan tipe nilainya sama. Jika ketika
23
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.
x <- mtcars$mpg # sebuah vector
length(x)
[1] 32
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
matrix(1:10, ncol = 5, nrow = 2, byrow = FALSE)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
Membuat matriks dengan nilai yang sama seluruhnya 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
24
Jika kita ingin mengakses elemen dari suatu matriks, maka 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
# Mengambil elemen matriks `m` di kolom 3
m[, 3]
[1] 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3
Selain itu, R juga menyediakan sebuah fungsi yaitu diag() untuk
mengakses nilai-nilai pada diagonal utama sebuah matriks.
diag(m)
[1] 21.0 19.2 30.4 30.4
Kita juga dapat mengganti nilai dari elemen suatu matriks dengan
menggunakan operator assignment.
m[4, 3] <- 0
m[4, 3]
[1] 0
m # perhatikan elemen di baris 4 kolom 3 sudah berubah jadi 0.0
[,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 0.0 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
2.7 Array
Array merupakan objek dari gabungan beberapa matriks. Jika
matriks hanya mempunyai 2 dimensi, maka array dapat memiliki lebih
dari 2 dimensi. Berikut ilustrasi sederhana dari array.
25
[,,3]
[,,2]
[,,1]
Gambar 2.1 Ilustrasi Array dengan 3 Dimensi
Kita dapat memamnggil sebuah matriks dengan dimensi yang kita
inginkan. perhatikan perintah berikut ini.
a<-array(mtcars$mpg, dim = c(4, 4, 2))
# perhatikan disini kita memanggil matriks yang terdiri 4 baris,
4 kolom dan 2 matriks
a
,,1
[,1] [,2] [,3] [,4]
[1,] 21.0 18.7 22.8 17.3
[2,] 21.0 18.1 19.2 15.2
[3,] 22.8 14.3 17.8 10.4
[4,] 21.4 24.4 16.4 10.4
,,2
[,1] [,2] [,3] [,4]
[1,] 14.7 21.5 19.2 15.8
[2,] 32.4 15.5 27.3 19.7
[3,] 30.4 15.2 26.0 15.0
[4,] 33.9 13.3 30.4 21.4
Untuk mengetahui ukuran dimensi dari sebuah array dapat
menggunakan fungsi dim().
dim(a)
[1] 4 4 2
26
Artinya, array dari a adalah array 2 dimensi.
2.8 Dataframe
Dataframe layaknya sebuah tabel di Ms Excel, terdiri dari baris
dan kolom dengan nama masing-masing kolom berbeda. Jika matriks
hanya bisa menyimpan tipe data yang sama (numeric atau character)
seluruhunya, maka pada dataframe masing-masing kolom boleh
memiliki tipe data yang berbeda. Dataframe seperti umumnya bentuk
tabel yang sering kita gunakan. Salah satu contoh dataframe yang ada
di R adalah mtcars. Saat kita melakukan analisis data, maka data
yang digunakan berupa table. Di dalam R sebuah table yang terdiri
dari baris dan kolom disebut dataframe atau fungsi di R yaitu
data.frame(). Baris di dataframe disebut observation dan kolom
disebut variable. Perhatikan ilustrasi dataframe terstruktur pada
Gambar 2.2.
Gambar 2.2 Dataframe terstruktur
Untuk membuat sebuah dataframe dapat menggunakan
fungsi data.frame(). Misalnya Anda akan membuat sebuah
dataframe bernama data1 yang berisi 5 observation dan 2 variable.
Variable pertama bernama x1 berisi sebuah vector numeric dengan
nilai {1, 3, 2, 6, 4} dan variable kedua bernama v2 berisi vector
character dengan nilai {“a”, “A”, “c”, “d”, “E”}. Anda dapat membuat
vector x1 dan v1 terlebih dahulu menggunakan fungsi c() (atau
27
fungsi lain yang sesuai untuk membuat vector). Kemudian membuat
dataframe dari vector tersebut. Perhatikan contoh berikut ini.
x1 <- c(1, 3, 2, 6, 4)
v1 <- c("a", "A", "c", "d", "E")
data1 <- data.frame(x1 = x1, v1 = v1)
Jika kita ingin melihat dataframe yang sudah dibuat dapat dilakukan
dengan memanggil nama objek dataframe.
data1
x1 v1
11a
23A
32c
46d
54E
Note: Dalam membuat sebuah dataframe yang berisi sebuah
variable character pada R dengan versi 3.6.3 atau sebelumnya,
maka secara otomatis variable dari vector character tersebut akan
diubah menjadi variable factor. Hal ini terjadi karena
fungsi data.frame() mempunyai sebuah argumen stringsAsFactors
= TRUE. Pada R versi 4.0.0 atau lebih baru, variable dari vector
character akan tetap dijadikan sebuah variable character karena
argumen stringsAsFactors = FALSE. Tentu saja dapat mengubahnya
dengan menambahkan argumen tersebut ketika membuat
dataframe.
data1 <- data.frame(x1 = x1, v1 = v1, stringsAsFactors = TRUE) #
atau TRUE
data1
x1 v1
11a
23A
32c
46d
54E
Sama halnya dengan array, untuk mengetahui ukuran dimensi
sebuah dataframe dapat menggunakan fungsi dim().
dim(data1)
[1] 5 2
28
Pada contoh di atas dataframe data1 memiliki 5 observation dan 2
variable.
Untuk mengetahui struktur dari sebuah dataframe kita dapat
menggunakan fungsi str() (str-ucture). Dengan fungsi ini Anda
dapat memperoleh informasi lebih lengkap dari sebuah dataframe
seperti banyaknya observation dan variable, nama-nama variable,
tipe variable, dan beberapa nilai baris pertama untuk masing-masing
variable.
str(data1)
'data.frame': 5 obs. of 2 variables:
$ x1: num 1 3 2 6 4
$ v1: Factor w/ 5 levels "a","A","c","d",..: 1 2 3 4 5
Dari hasil di atas Anda dapat ketahui bahwa objek data1 adalah
sebuah dataframe berukuran 5 observation dan 2 variable. Nama
variable yang ada adalah x1 dan v1. Variable x1 adalah variable
bertipe numeric, sedangkan v1 adalah variable character alias
factor. Nilai pada baris pertama dataframe data1 untuk
variable x1 adalah 1 dan variable v1 adalah “a”. Nilai “a” dikodekan
sebagai 1, “A” dikodekan sebagai 2, “c” dikodekan sebagai 3, dan
seterusnya. Selanjutnya untuk mengambil nilai sebuah variable dari
sebuah dataframe dapat menggunakan tanda dollar ($) atau
menggunakan indeks. Perhatikan perintah berikut ini.
# Menggunakan tanda dollar
data1$x1
[1] 1 3 2 6 4
# Menggunakan indeks urutan posisi variable
data1[, 1]
[1] 1 3 2 6 4
# Menggunakan nama variable pada indeks
data1[, "x1"]
[1] 1 3 2 6 4
Jika kita ingin membuat variable baru, maka dapat menggunakan
cara yang hampir sama dan menggunakan assignment. Misalkan
kita ingin menambahkan variabel baru yaitu x2 yang berisi tipe data
numeric. Perhatikan perintah di bawah ini.
data1$x2 <- 1:5
data1
x1 v1 x2
29
11a1
23A2
32c3
46d4
54E5
str(data1) # Menampilkan struktur data
'data.frame': 5 obs. of 3 variables:
$ x1: num 1 3 2 6 4
$ v1: Factor w/ 5 levels "a","A","c","d",..: 1 2 3 4 5
$ x2: int 1 2 3 4 5
Tipe num artinya variable tersebut adalah double dan tipe int adalah
tipe integer. Kemudian kita buat variable baru bernama x3 yang
merupakan penjumlahan dari variable x1 dan x2. Penjumlahan dari
tipe data numeric dengan tipe data integer akan menghasilkan tipe
data numeric.
data1$x3 <- data1$x1 + data1$x2
str(data1)
'data.frame': 5 obs. of 4 variables:
$ x1: num 1 3 2 6 4
$ v1: Factor w/ 5 levels "a","A","c","d",..: 1 2 3 4 5
$ x2: int 1 2 3 4 5
$ x3: num 2 5 5 10 9
2.9 List
Fungsi list pada dasarnya mirip seperti vector, hanya saja tipe
elemennya berbeda. Pada objek list elemennya dapat berupa vector,
factor, matriks, array, dataframe, bahkan dapat berupa list di dalam list
atau objek lain seperti model prediktif yang dibuat di R. Berikut contoh
perintah fungsi list.
list(2, "A", c(4, 5, 2), iris[1:5,])
[[1]]
[1] 2
[[2]]
[1] "A"
[[3]]
[1] 4 5 2
[[4]]
A tibble: 5 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
30
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
55 3.6 1.4 0.2 setosa
Gambar 2.3 Ilustrasi Objek List di Dalam R
2.10 Function dan Packages
Wickham (2015) menyatakan bahwa R menyediakan banyak
alat untuk pembuatan dan manipulasi fungsi. Secara khusus R
memiliki apa yang dikenal sebagai first class function. Kita dapat
melakukan apa saja dengan fungsi seperti yang dapat dilakukan
dengan vector. Kita dapat memasukkan fungsi dan packages ke
dalam sebuah objek, menyimpannya dalam list, menjadikannya
sebagai argumen pada fungsi yang lain, membuat fungsi di dalam
fungsi, dan bahkan menjadikannya sebagai hasil keluaran dari suatu
fungsi.
a. Menggunakan fungsi yang sudah ada
R mempunyai banyak fungsi yang tersedia untuk melakukan
analisis statistik. Berikut beberapa fungsi yang dapat digunakan
langsung:
31
• Fungsi seq() digunakan untuk menampilkan angka dari berapa
sampai berapa.
x <- seq(from=1, to=10)
[1] 1 2 3 4 5 6 7 8 9 10
• Fungsi mean() digunakan untuk mendapatkan nilai rata-rata
dari sebuah vector numeric.
x <- seq(1, 100, by = 4)
# Rata-rata vector x
mean(x)
[1] 49
• Fungsi min() dan max() digunakan untuk mendapatkan milai
minimum atau maksimum tersedia.
x <- seq(1, 100, by = 4)
# Minimum dari vector x
min(x)
[1] 1
# Maksimum dari vector x
max(x)
[1] 97
• Fungsi range() digunakan untuk mencari nilai minimum dan
maksimum secara bersamaan.
range(x)
[1] 1 97
• Fungsi sd() dapat digunakan untuk mendapatkan nilai
standard deviasi.
x <- seq(1, 100, by = 4)
sd(x)
[1] 29.4392
• Fungsi var() untuk mendapatkan nilai ragam (varians).
x <- seq(1, 100, by = 4)
var(x)
[1] 866.6667
• Fungsi length() untuk mengetahui jumlah elemen yang
tersimpan atau terkandung dalam sebuah variabel.
x <- seq(1, 100, by = 4)
32
length(x)
[1] 25 # artinya data x terdapat 25 elemen
• Fungsi sort() untuk mengurutkan data dari yang terkecil
hingga terbesar atau sebaliknya.
a <- c(70,80,50,25,100,60)
sort(a)
[1] 25 50 60 70 80 100
• Fungsi diff() digunakan untuk melakukan perhitungan
tertentu.
b <- c(100,50,70,80,60)
diff(b)
[1] -50 20 10 -20
#hasil pengurangan dari angka sebelumnya
• Fungsi sum() digunakan untuk menjumlahkan seluruh nilai
data.
c<- c(50,60,70,80)
sum(c)
[1] 260
• Fungsi sqrt() digunakan untuk menghitung akar pangkat dua
dari suatu bilangan.
d<- sqrt(64)
d
[1] 8
• Fungsi exp() digunakan untuk mencari nilai eksponen dengan
pangkat tertentu.
e<- exp(2)
e
[1] 7.389056 # hasil nilai eksponen dipangkatkan 2 atau exp2
• Fungsi pi atau digunakan untuk memanggil nilai phi yaitu
3,141593…
• Fungsi options() digunakan untuk mengambil beberapa digit
angka.
options(digits=3) # hanya mengambil 3 digit nilai pi
f<- pi
f
33
[1] 3.14
b. Membuat fungsi sendiri
Jika kita ingin membuat sebuah script yang akan digunakan
berulang namun dengan nilai input yang berbeda, maka ada
baiknya script tersebut dibuat menjadi sebuah fungsi sesuai
dengan kebutuhan atau User Defined Function. Sebagai
contohnya perhatikan perintah berikut ini:
a <- 5
b <- 7
d <- a + b
d
[1] 12
Jika kita ingin mengubah nilai a dan b maka kita perlu membuat
script di atas menjadi sebuah fungsi. Misalkan dengan nama
fungsi sum_ab dan menggunakan fungsi return() di dalam fungsi
sum_ab. Perhatikan perintah di bawah ini:
sum_ab <- function(a, b){
d <- a + b
return(d)
}
sum_ab(a = 5, b = 7)
[1] 12
sum_ab(a = 2, b = 7)
[1] 9
Bagaimana jika tidak ada argumen yang diberikan ketika
memanggil fungsi tersebut? Dalam hal ini akan terjadi error karena
argument pada fungsi tersebut adalah tipe argument yang harus
diisi atau tidak mempunyai nilai default.
c. Install packages
Packages adalah sebuah kumpulan fungsi atau data yang
dibuat untuk memudahkan proses di R tanpa harus menuliskan
ulang script yang dibutuhkan. Saat ini packages menjadi bagian
yang sangat penting bagi Data Analyst atau Data Scientist ketika
menggunakan R. Karena dengan packages tambahan (yang
34
belum ada ketika install R) pekerjaan dalam mengolah data
menjadi lebih efisien.
Untuk dapat menggunakan fungsi atau data dari sebuah
packages tambahan kita perlu menginstall terlebih dahulu. Salah
satu contohnya packages {nycflights13}. Selanjutnya menginstall
juga packages {ggplot2}. Packages ini sangat berguna untuk
membuat visualisasi data di R. Beberapa packages saling
keterkaitan, sehingga untuk mendapatkan sebuah packages harus
menginstall packages yang lain.
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. Koneksi internet yang baik sangat dibutuhkan ketika install
package untuk R mendownload file package tersebut. Selanjutnya
nama package juga harus sesuai dari penulisannya, termasuk
huruf kapitalnya. Sebagai contohnya perhatikan penginstallan
berikut ini: Misalkan kita ingin menginstall package {ggplot2}, maka
kita harus menuliskannya dengan install.packages("ggplot2"). Jika
penulisannya tidak sama maka package tersebut tidak akan
diinstall.
Hal yang perlu diperhatikan selanjutnya adalah repository
package. Ada beberapa repository yang digunakan sebagai
tempat penyimpanan package. Reposiroty yang paling umum
adalah Comprehensive R Archieve Network (CRAN). Ketika kita
menggunakan fungsi install.packages() maka secara otomatis
package yang akan diinstall berasal dari CRAN. Selain itu ada
beberapa repository lain seperti GitHub, Bitbucket, Bioconductor
dan lain-lain. Pada kesempatan ini hanya akan membahas
repository GitHub saja.
35
a
b
Gambar 2.4 Ilustrasi Install Packages di R
2.11 Mencari Help Sebuah Fungsi
Jika kita ingin mengetahui beberapa hal tentang fungsi yang
akan kita gunakan maka untuk mencarinya pada halaman help di tab
Help. Misalnya kita ingin menggunakan fungsi mean(), maka kita
dapat mengetikkan ?mean atau help("mean"). Jika Anda
menggunakan RStudio maka akan muncul halaman help dari fungsi
mean() di tab Help.
Gambar 2.5 Halaman Help Fungsi mean().
36
Jika kita ingin mencari help sebuah fungsi yang berasal dari
package tertentu yang sudah diinstall sebelumnya tetapi belum
diaktifkan package tersebut, maka dapat menggunakan format
namespace (namapackage::namafungsi). Sebagai ilustrasi dengan
mencari help dari fungsi read_excel() dari package {readxl}
(https://readxl.tidyverse.org/). Untuk mencari hellp fungsi tersebut
dapat mengetikkan ?readxl::read_excel di console dan akan muncul
halaman help.
Cara lain untuk mencari help di R adalah dengan menggunakan
fungsi help(). Misalnya untuk help dari fungsi mean() Anda ketikkan di
console help('mean"), help("iris") untuk data iris. Untuk melihat help
sebuah fungsi dari package yang belum Anda aktifkan, Anda juga
harus menyebutkan nama packagenya seperti help("read_excel",
package = "readxl"). Apa yang terjadi jika tidak menyebutkan nama
packagenya?
help("read_excel")
Tetapi jika sudah diaktikan package tersebut, baik menggunakan
fungsi library(), require() ataupun dengan klik pada tab Packages,
kita tidak perlu menyebutkan nama package tersebut. Cukup
mengetikkan help("read_excel").
library(readxl)
help("read_excel")
Untuk melihat help dari suatu package, misalnya package {readxl},
juga dapat menggunakan help(package = "readxl").
37
BAB III
IMPORT DAN EXPORT DATA
Bahasa pemrograman R digunakan untuk menganalisis, mengolah
dan visualisasi data tentunya R harus memiliki kemampuan untuk membaca
data. Oleh karena itu, R mampu membaca data atau import data dari file
dan database. Selain itu juga, R mampu menampilkan hasil analisis data
atau export data. Untuk mengimport atau mengexport data, R memerlukan
beberapa packages yang harus diaktifkan terlebih dahulu. Berikut
merupakam packages yang akan dibutuhkan dan harus 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")
}
}
Pada modul ini akan dijelaskan import dan export data dari file
eksternal, database, dan file RDS. Berikut masing-masing penjelasannya:
3.1 File Eksternal
Jenis file yang akan dibahas pada file eksternal adalah
a. Textfile (*.txt)
Textfile yang bisaa disebut dengan flat file atau plain text
adalah salah satu jenis file yang sering digunakan untuk
menyimpan atau bertukar data. Penyimpanan data dalam
bentuk textfile bisaanya membutuhkan disk space yang relative
lebih kecil dan lebih mudah dibandingkan dengan media
penyimpanan lainnya. Aktifkan package yang dibutuhkan
dengan menggunakan fungsi library(). Untuk import data dari
38
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 col_names = 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 <- read_delim(file = "data/iris.txt", delim = " ",
col_names = TRUE)
Parsed with column specification:
cols(
Sepal.Length = col_double(),
Sepal.Width = col_double(),
Petal.Length = col_double(),
Petal.Width = col_double(),
Species = col_character()
)
Kita dapat melihat data yang sudah berhasil diimport dengan
memanggil dataframe tersebut seperti perintah di bawah ini:
iris
A tibble: 150 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
55 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
85 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
... with 140 more rows
b. CSV (*.csv)
Selain textfile, Command Separated Values (CSV)
merupakan suatu kumpulan data yang berisi numeric dan
39
character. Data dalam bentuk file CSV akan membentuk sebuah
table dan setiap recordnya terpisahkan dengan tanda koma dan
tanda titik koma. Package {readr} menyiapkan
fungsi read_csv() untuk import data dari file CSV.
iris2 <- read_csv("data/iris.csv", col_names = TRUE)
Parsed with column specification:
cols(
Sepal.Length = col_double(),
Sepal.Width = col_double(),
Petal.Length = col_double(),
Petal.Width = col_double(),
Species = col_character()
)
iris2
A tibble: 150 x 5
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
55 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
85 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
... with 140 more rows
c. 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)
iris_xl <- read_excel(path = "data/iris.xlsx", col_names = TRUE)
iris_xl
A tibble: 150 x 5
`Sepal Length` `Sepal Width` `Petal Length` `Petal Width` Species
<dbl> <dbl> <dbl> <dbl> <chr>
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
55 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
85 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
40
10 4.9 3.1 1.5 0.1 setosa
... with 140 more rows
3.2 Database
Bahasa pemrograman R sebagai program untuk statistika dan
analisis data didukung dengan kemampuan mengakses data pada
database. Pada modul ini, kita akan mendemonstrasikan cara import
data dari Database Management System (DBMS) MySQL dan
PostgreSQL.
a. MySQL
Packages yang digunakan untuk mengimport DBMS MySQL
adalah packages {RMySQL}. Package {RMySQL} hingga saat ini
masih mempunyai keterbatasan, yaitu dapat berjalan dengan baik
pada DBMS MySQL versi 5. Namun pada MySQL versi 8 tidak
dapat eksport data dari R menjadi tabel di database. Pertama kita
harus membuat koneksi ke database yang akan diakses. Misalnya
database yang akan digunakan bernama insw.
library(RMySQL)
Loading required package: DBI
my_con <- dbConnect(drv = RMySQL::MySQL(),
# alamat IP database
host = "localhost",
# nama database
dbname = "insw",
# user ID
user = "user1",
# password
password = "P@ssw0rd",
# port database
port = 3306
)
my_con
<MySQLConnection:0,0>
Jika kita ingin mengetahui nama table yang ada di dalam databse
yang kita akses, dapat menggunakan fungsi dbListTables()
dbListTables(my_con)
[1] "iris"
Untuk dapat import tabel dari database menjadi dataframe di R,
kita dapat gunakan fungsi dbReadTable(). Sebutkan objek
41
koneksi yang sebelumnya kita buat dan nama tabel yang akan kita
akses.
b. PostgreSQL
DBMS lain yang akan digunakan untuk contoh kali ini adalah
PostgreSQL. Ada beberapa packages yang dapat digunakan untuk
membuat koneksi dan akses DBMS PostgreSQL dari R, yaitu
packages {RPostgre} dan {RPostgreSQL}. Perhatikan perintah
berikut ini:
library(RPostgres) =
pg_con <- dbConnect(RPostgres::Postgres(),
# alamat IP database
host = "rosie.db.elephantsql.com",
# port
port = 5432,
# nama database
dbname = "nfjvlkjy",
# username
user = "nfjvlkjy",
# password
password
"uDTq8jJo6kMxAg1TECN3WK8UeXGKqndJ"
)
pg_con
## <PqConnection> [email protected]:5432
Sama seperti ketika kita import tabel dari DBMS MySQL, kita
gunakan fungsi dbReadTable() dengan menyebutkan nama tabel
yang akan diimport. Untuk eksport dataframe dari R menjadi
tabel di database kita gunakan fungsi dbWriteTable().
Argumen name = adalah nama tabel di DBMS hasil ekspor
nanti, value = adalah nama dataframe yang akan kita ekspor.
dbWriteTable(pg_con, name = "aep_iris", value = iris, row.names
= FALSE, overwrite = TRUE)
dbListTables(pg_con)
[1] "iris" "pg_stat_statements" "aep_iris"
3.3 File RDS
File RDS adalah format file eksternal dari objek yang ada di R.
Semua data ketika kita mengolah data di disimpan di dalam memory.
Oleh karena itu ketika kita menutup sesi R yang sedang berjalan,
42
maka semua data atau objek yang ada akan hilang. Namun kita bisa
ekspor objek yang nantinya ingin kita gunakan kembali di dalam
sebuah file eksternal dengan format RDS.
Untuk dapat menggunakan data yang ada di dalam file RDS kita
dapat gunakan fungsi readRDS() dari pakage {base} atau
read_rds() dari package {readr}. Kita akan gunakan fungsi
read_rds(). Sebagai contoh, perhatikan perintah berikut ini:
data <- read_rds("data/fl_pelatihan.rds")
data
43
BAB IV
MENYAJIKAN DATA DALAM BENTUK GRAFIK
4.1 Grafik Plot (Scatter Plot)
Grafik plot atau bisaa disebut Scatter plot merupakan sebuah
tipe grafik yang digunakan untuk menggambarkan relasi atau
hubungan diantara 2 variabel atau peubah dengan menggunakan
koordinat cartesius. Dalam R, untuk membuat visualisasi data dalam
bentuk scatter plot dapat menggunakan fungsi plot(). Pada fungsi
plot() kita dapat mengatur warna, bentuk scatter plot, dan juga dapat
memberi judul pada hasil outputnya.
Pada kasus ini, kita ingin melihat hubungan antara pendapatan
dan pengeluaran antara laki-laki dan perempuan.
Tabel 4.1 Data Pendapatan dan Pengeluaran
Jenis Kelamin Pendapatan Pengeluaran
Laki-laki 1 0.1
Laki-laki 2 0.3
Laki-laki 3 2
Laki-laki 4 3
Laki-laki 5 3.5
Laki-laki 6 5.5
Laki-laki 7 6
Laki-laki 8 7
Laki-laki 9 8.9
Laki-laki 10 9.5
Perempuan 1 0.8
Perempuan 2 2
Perempuan 3 4
Perempuan 4 5.5
Perempuan 5 6
Perempuan 6 7.5
Perempuan 7 8
Perempuan 8 9.5
Perempuan 9 10
Perempuan 10 12
44
Berikut perintah scatter plot sederhana:
library(readxl) # karena datanya dalam format excel maka kita
aktifkan library readxl
data_scatterplot <- read_excel("D:/PNS UNIMED/CPNS/LATSAR 2022/03
AKTUALISASI/Data scatterplot.xlsx ")
plot(data_scatterplot[2:3], main=”Pendapatan dan Pengeluaran per-
Bulan (dalam Jutaan Rupiah)”)
Gambar 4.1 Output Scatter Plot Sederhana
Berdasarkan Gambar 3.1 kita belum dapat melihat lebih jelas
yang mana data laki-laki dan data perempuan. Sehingga dengan data
yang sama kita dapat membuat plot yang lebih detail seperti perintah
di bawah ini.
library(ggplot2) # untuk menjalankan fungsi plot ini kita
memerlukan library ggplot2
Jenis<-data_scatterplot$Jenis_Kelamin
qplot(data_scatterplot$Pendapatan main=”Pendapatan dan
Pengeluaran per-Bulan (dalam Jutaan Rupiah)”,
xlab=”Pendapatan”,ylab=”Pengeluaran”, color=Jenis,
shape=Jenis)
Gambar 4.2 Output Scatter Plot yang Lebih Detail
45