Email : kent.zendrato@student.matanauniversity.ac.id
RPubs : https://rpubs.com/kentzend03/
Jurusan : Fisika Medis
Address : ARA Center, Matana University Tower
Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.
List adalah struktur data pada R dan python yang mampu menyimpan lebih dari satu data, seperti array. Pada kesempatan ini, kita akan membahas cara menggunakan list di R dari yang paling sederhana sampai yang sedikit lebih kompleks.
Hal terpenting yang harus dipelajari adalah bagaimana untuk membentuk list. Perhatikan contoh berikut!
list1 = list ("Velman","Wawan","Eirene","Intan","Happy") # membuat list 5 item karakter
print(list1) # print hasilSetelah kita tahu cara membuat dan menyimpan data di dalam list, mari kita coba mengambil datanya. Listnya sama seperti array, list juga memiliki nomor indeks untuk mengakses data atau isinya.
Nomor indeks list di dalam R dimulai dari satu (1). Nomor indeks ini yang kita butuhkan untuk mengambil isi (item) dari list.
list1 = list ("Velman","Wawan", "Eirene", "Intan", "Happy") # membuat list 5 item karakter
print(list1[1]) # print nilai pada indeks 1## [[1]]
## [1] "Velman"
Untuk menambahkan atau mengganti atau menghapus nilai pada suatu list bersifat mutable, artinya isinya bisa kita ubah-ubah.
list1 = list ("Velman","Wawan", "Eirene", "Intan", "Happy") # list mula-mula
list1[5] = "Priska" # mengganti Happy menjadi Priska
print(list1) # print hasil## [[1]]
## [1] "Velman"
##
## [[2]]
## [1] "Wawan"
##
## [[3]]
## [1] "Eirene"
##
## [[4]]
## [1] "Intan"
##
## [[5]]
## [1] "Priska"
Selain cara di atas, berikut ini terdpat dua metode atau fungsi lainnya yang dapat digunakan untuk menambahkan isi atau item ke list:
list1=c(list1, "Nestor") # menambahkan Nestor di indeks akhir list 1
list1=c("Louis",list1) # menambahkan Louis di indeks awal list 1
print(list1) # print list yang sudah diganti## [[1]]
## [1] "Louis"
##
## [[2]]
## [1] "Velman"
##
## [[3]]
## [1] "Wawan"
##
## [[4]]
## [1] "Eirene"
##
## [[5]]
## [1] "Intan"
##
## [[6]]
## [1] "Priska"
##
## [[7]]
## [1] "Nestor"
length(list1)## [1] 7
Tuple dalam R dan python adalah Struktur data yang digunakan untuk menyimpan sekumpulan data. Tuple bersifat immutable, artinya isi tuple tidak bisa kita ubah dan hapus. Namun, dapat kita isi dengan berbagai macam nilai dan objek sebagai berikut.
• Cara membentuk tuple
• Cara mengakses nilai tuple
• Slicing nilai tuple
• Nested Tuple
• Unpacking Sequence
Untuk membuat tuple di dalam R, anda perlu untuk menginstal packages sets sebelum menjalankan beberapa koding berikut.
library (sets)
tuple1 = tuple("Hai")
tuple2 = tuple("Hai","perkenalkan","nama","saya","Kent")tuple2 = tuple("Hai","perkenalkan","nama","saya","Kent")
print (tuple2 [1])## ("Hai")
tuple2 = tuple("Hai","perkenalkan","nama","saya","kent")
print(tuple2[2:5])## ("perkenalkan", "nama", "saya", "kent")
tuple3 = c(tuple2,tuple1)
print(tuple3)## ("Hai", "perkenalkan", "nama", "saya", "kent", "Hai")
tuple4 = rep(tuple3, 5)
print(tuple4)## ("Hai", "perkenalkan", "nama", "saya", "kent", "Hai", "Hai",
## "perkenalkan", "nama", "saya", "kent", "Hai", "Hai", "perkenalkan",
## "nama", "saya", "kent", "Hai", "Hai", "perkenalkan", "nama", "saya",
## "kent", "Hai", "Hai", "perkenalkan", "nama", "saya", "kent", "Hai")
Dictionary adalah struktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilainya. Kata kunci harus unik, sedangkan nilai boleh diisi dengan apa saja. Adapun perbedaan list dan tuple adalah; dictionary memiliki kunci berupa teks (bisa juga angka), sedangkan list dan tuple menggunakan indeks berupa angka saja untuk mengakses nilainya.
Untuk membentuk dictionary di dalam R sangatlah mudah, silahkan perhatikan contoh berikut.
library(Dict)##
## Attaching package: 'Dict'
## The following object is masked from 'package:sets':
##
## %>%
kentzend30 = dict(
Nama = "Kent Juan Nataniel Yaoisokhi Zendrato",
umur = as.integer (18),
hobi = list("Reading", "Listening to Music", "Badminton"),
menikah = FALSE,
sosmed=tuple(facebook= "Niel",
instagram= "Natan240734")
)cat("Nama saya adalah :", kentzend30$get('Nama'))## Nama saya adalah : Kent Juan Nataniel Yaoisokhi Zendrato
print(kentzend30$get('sosmed')['facebook'])## (facebook = "Niel")
kentzend30["Nama"] = "Kent Juan Nataniel Yaoisokhi Zendrato"kentzend30$remove ("Nama")
print(kentzend30$get("Nama"))## NULL
Bingkai data adalah tabel atau struktur seperti array dua dimensi dimana setiap kolom berisi nilai dari satu variabel dan setiap baris berisi satu set nilai dari setiap kolom. berikut ini adalah ciri-ciri data frame:
• Nama kolom tidak boleh kosong
• Nama baris harus unik
• Data yang disimpan dalam bingkai data dapat berupa numerik, faktor, atau tipe karakter
• Setiap kolom harus berisi jumlah item data yang sama
Berikut ini diperlihatkan contoh data frame dengan menggunakan R
df1_R <- data.frame(kode =c ( 1 : 5 ),
nama =c ( " Budi " , " Andi " , " Sherly " , " Dian " , " Woody " ),
gaji =c (776.7 , 700.3 ,668.8,876.6,758.3 ) ,
jenis_kelamin =c("L","L","P","P","L"),
umur =c(29,35,31,27,30),
alamat =c("Jakarta","Tangerang","Depok","Serang","Depok"),
mulai_kerja = as.Date(c(" 2015-06-08 " , " 2015-03-18 " , " 2015-08-11 " , " 2015-09-21", "2015-11-04")),
divisi =c ( "DS" , "DS" , "BA" , "DA" , "DS" ) , stringsAsFactors = F )
print(df1_R)## kode nama gaji jenis_kelamin umur alamat mulai_kerja divisi
## 1 1 Budi 776.7 L 29 Jakarta 2015-06-08 DS
## 2 2 Andi 700.3 L 35 Tangerang 2015-03-18 DS
## 3 3 Sherly 668.8 P 31 Depok 2015-08-11 BA
## 4 4 Dian 876.6 P 27 Serang 2015-09-21 DA
## 5 5 Woody 758.3 L 30 Depok 2015-11-04 DS
typeof ( df1_R ) ## [1] "list"
class ( df1_R )## [1] "data.frame"
df1_R[1,5] ## [1] 29
df1_R$nama## [1] " Budi " " Andi " " Sherly " " Dian " " Woody "
df1_R [,c('nama','jenis_kelamin')]## nama jenis_kelamin
## 1 Budi L
## 2 Andi L
## 3 Sherly P
## 4 Dian P
## 5 Woody L
df1_R [ 1 : 5 ,]## kode nama gaji jenis_kelamin umur alamat mulai_kerja divisi
## 1 1 Budi 776.7 L 29 Jakarta 2015-06-08 DS
## 2 2 Andi 700.3 L 35 Tangerang 2015-03-18 DS
## 3 3 Sherly 668.8 P 31 Depok 2015-08-11 BA
## 4 4 Dian 876.6 P 27 Serang 2015-09-21 DA
## 5 5 Woody 758.3 L 30 Depok 2015-11-04 DS
df1_R [ , 1 : 5 ]## kode nama gaji jenis_kelamin umur
## 1 1 Budi 776.7 L 29
## 2 2 Andi 700.3 L 35
## 3 3 Sherly 668.8 P 31
## 4 4 Dian 876.6 P 27
## 5 5 Woody 758.3 L 30
subset ( df1_R , select = 6 ) ## alamat
## 1 Jakarta
## 2 Tangerang
## 3 Depok
## 4 Serang
## 5 Depok
subset ( df1_R , select = c ( 6,7 ) ) ## alamat mulai_kerja
## 1 Jakarta 2015-06-08
## 2 Tangerang 2015-03-18
## 3 Depok 2015-08-11
## 4 Serang 2015-09-21
## 5 Depok 2015-11-04
subset ( df1_R , select = c ( 2 : 5 ) )## nama gaji jenis_kelamin umur
## 1 Budi 776.7 L 29
## 2 Andi 700.3 L 35
## 3 Sherly 668.8 P 31
## 4 Dian 876.6 P 27
## 5 Woody 758.3 L 30
min(df1_R$gaji)## [1] 668.8
max(df1_R$gaji)## [1] 876.6
mean(df1_R$gaji)## [1] 756.14
sd(df1_R$gaji)## [1] 80.13172
summary(df1_R)## kode nama gaji jenis_kelamin
## Min. :1 Length:5 Min. :668.8 Length:5
## 1st Qu.:2 Class :character 1st Qu.:700.3 Class :character
## Median :3 Mode :character Median :758.3 Mode :character
## Mean :3 Mean :756.1
## 3rd Qu.:4 3rd Qu.:776.7
## Max. :5 Max. :876.6
## umur alamat mulai_kerja divisi
## Min. :27.0 Length:5 Min. :2015-03-18 Length:5
## 1st Qu.:29.0 Class :character 1st Qu.:2015-06-08 Class :character
## Median :30.0 Mode :character Median :2015-08-11 Mode :character
## Mean :30.4 Mean :2015-07-25
## 3rd Qu.:31.0 3rd Qu.:2015-09-21
## Max. :35.0 Max. :2015-11-04
Salah satu hal penting lainnya yang dimiliki proses data science adalah menyimpan data ke dalam variabel. Variabel dapat diibaratkan seperti sebuah label untuk sebuah informasi. Variabel dapat juga terdiri dari beberapa informasi. Seringkali kita sebagai data scientist perlu untuk mengganti nama variabel tertentu untuk memudahkan dalam menganalisa informasi yang terkandung pada suatu data yang dimiliki.
Objek R dapat memiliki nama, yang sangat berguna untuk menulis kode yang dapat dibaca dan objek yang menggambarkan dirinya sendiri. Anda akan mempelajari cara mengganti nama kolom data frame di R menggunakan fungsi names().
rename_1<-df1_R
names(rename_1)<-c("no",
"nama",
"tgl.lahir",
"jenis kelamin",
"umur",
"alamat",
"gaji")
print(rename_1)## no nama tgl.lahir jenis kelamin umur alamat gaji NA
## 1 1 Budi 776.7 L 29 Jakarta 2015-06-08 DS
## 2 2 Andi 700.3 L 35 Tangerang 2015-03-18 DS
## 3 3 Sherly 668.8 P 31 Depok 2015-08-11 BA
## 4 4 Dian 876.6 P 27 Serang 2015-09-21 DA
## 5 5 Woody 758.3 L 30 Depok 2015-11-04 DS