Email             :
RPubs            : https://rpubs.com/veronicayose/
Github           : https://github.com/veronicayose/
Jurusan          : Teknik Informatika
Address         : ARA Center, Matana University Tower
                          Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.


Catatan
Untuk versi Python
(https://colab.research.google.com/drive/18dsIl8Z2r61hlRdHuOriy46NSrQ8NOxr?usp=sharing)




1 R vs Python

R dan Python adalah bahasa pemrograman yang banyak digunakan dalam data science. Bahasa R lebih banyak digunakan dalam analisis statistik dan Python menyediakan pendekatan yang umum untuk data science.

1.1 Persamaan

Persamaan R dan Python adalah keduanya:

  1. Bahasa pemrograman yang dinamis
  2. Dikembangkan dari bahasa C, masuk dari sistem C
  3. Mendukung pemrograman berorientasi pada objek, pemrograman prosedural, pemrograman imperatif, dan lainnya
  4. Bahasa multi paradigma (banyak persepsi) karena banyak diinterpretasi oleh user, penyusunan logika, tergantung programmer
  5. Bahasa yang ditafsirkan, tapi ada yang tidak bisa dilanggar karena ada aturannya masing-masing
  6. Dapat digunakan untuk mengembangkan algoritma
  7. Bahasa pemrograman tingkat tinggi
  8. Gratis dan open source
  9. Dapat diintegrasikan dengan database (aplikasi spt MySQL, Oracle, Github, dsb)
  10. Mendukung file berbeda (file CSV, excel, XML, JSON)
  11. Mudah digunakan dan dipelajari

1.2 Perbedaan

Perbedaan R dan Python adalah keduanya:

Kriteria R Python
Ruang lingkup Data science dan statistik Aplikasi dan Industri
Pengguna Peneliti dan akademisi Programmer dan Developer
IDE (User Interface) RStudio Jupyter Notebook, Spyder, Pycharm, dan lainnya
Ekstensi .R dan .Rmd .py dan .ipynb
Struktur data Vektor, list, matriks, array, faktor, dan bingkai data List, dictionary, dan tupel
Package dan library Tidyverse, ggplot2, caret, zoo Pandas, scipy, scikit-learn, TensorFlow, caret
Kelebihan Ada banyak library dan kualitas visualisasi yang tinggi Sistematika penulisan script yang mudah dibaca, fokus pada komputasi, pengembangan web, jaringan, otomatisasi, dan lainnya
Integrasi Memiliki fitur RMarkdown dan shiny Integrasi aplikasi lebih luas



2 Sintaks Dasar

Tiga hal mendasar pada R dan Python adalah

  • Variabel untuk menyimpan nilai
  • Nilai
  • Komentar untuk memberi penjelasan terhadap koding

2.1 Penugasan Variabel

Tiga notasi perintah penugasan variabel pada R:

  • = Penugasan sederhana
  • <- Penugasan di sisi kiri
  • -> Penugasan di sisi kanan

Contoh

x = 4
y <- 5
6 -> z
print(c(x,y,z))
## [1] 4 5 6

2.2 Penulisan Komentar

Penulisan variabel bertujuan untuk memperjelas atau memberi komentar pada koding. Penulisan komentar pada R dan Python dengan menuliskan # di awal baris.

Contoh

#Cara menuliskan tipe data integer pada R
d1 = as.integer(4)



3 Operator

Operator adalah simbol yang mengarahkan compiler untuk melakukan operasi pada penugasan.

3.1 Aritmatika

Operator aritmatika yang dilakukan bisa berupa nilai skalar, bilangan kompleks, dan vektor.

Operator R Python
Penjumlahan + +
Pengurangan - -
Perkalian * *
Pembagian / /
Pemangkatan ^ **
Modulo %% %

Contoh

x <- c(2,3,5) #Memuat vektor x
y <- c(3,4,5) #Memuat vektor y

a. Penjumlahan

print(x+y)
## [1]  5  7 10
cat("Penjumlahan vektor x dan y: ", x+y, "\n")
## Penjumlahan vektor x dan y:  5 7 10

b. Pengurangan

print(x-y)
## [1] -1 -1  0
cat("Pengurangan vektor x dan y: ", x-y, "\n")
## Pengurangan vektor x dan y:  -1 -1 0

c. Perkalian

print(x*y)
## [1]  6 12 25
cat("Perkalian vektor x dan y: ", x*y, "\n")
## Perkalian vektor x dan y:  6 12 25

d. Pembagian

print(x/y)
## [1] 0.6666667 0.7500000 1.0000000
cat("Pembagian vektor x dan y: ", x/y, "\n")
## Pembagian vektor x dan y:  0.6666667 0.75 1

e. Pemangkatan

print(x^y)
## [1]    8   81 3125
cat("Pemangkatan vektor x dan y: ", x^y, "\n")
## Pemangkatan vektor x dan y:  8 81 3125

f. Modulo

print(x%%y)
## [1] 2 3 0
cat("Modulo vektor x dan y: ", x**y, "\n")
## Modulo vektor x dan y:  8 81 3125

3.2 Relasional

Operator Relasional membandingkan elemen yang bersesuaian pada setiap operan.

Operator R Python Keterangan
Kurang dari < < Mengembalikan TRUE jika operan pertama lebih kecil dari operan kedua
Kurang dari sama dengan <= <= Mengembalikan TRUE jika operan pertama lebih kecil dari atau sama dengan operan kedua
Lebih besar dari > > Mengembalikan TRUE jika operan pertama lebih besar dari operan kedua
Lebih besar dari sama dengan >= >= Mengembalikan TRUE jika operan pertama lebih besar dari atau sama dengan operan kedua
Sama dengan == == Mengembalikan TRUE jika kedua operan bernilai sama
Tidak sama dengan != != Mengembalikan TRUE jika kedua operan tidak bernilai sama

Contoh

x <- c(2, 3, 4)
y <- c(3, 4, 5)

a. Kurang dari

cat("Vektor x kurang dari vektor y : ", x<y)
## Vektor x kurang dari vektor y :  TRUE TRUE TRUE

b. Kurang dari sama dengan

cat("Vektor x kurang dari sama dengan vektor y : ", x<=y)
## Vektor x kurang dari sama dengan vektor y :  TRUE TRUE TRUE

c. Lebih besar dari

cat("Vektor x lebih besar dari vektor y : ", x>y)
## Vektor x lebih besar dari vektor y :  FALSE FALSE FALSE

d. Lebih besar sama dengan

cat("Vektor x lebih besar sama dengan vektor y : ", x>=y)
## Vektor x lebih besar sama dengan vektor y :  FALSE FALSE FALSE

e. Sama dengan

cat("Vektor x sama dengan vektor y : ", x==y)
## Vektor x sama dengan vektor y :  FALSE FALSE FALSE

f. Tidak sama dengan

cat("Vektor x tidak sama dengan vektor y : ", x!=y)
## Vektor x tidak sama dengan vektor y :  TRUE TRUE TRUE

3.3 Logika

Operator Logika mensimulasikan operasi yang memerlukan keputusan dengan operator di antara operan dan akan ditentukan nilai benar atau salahnya.

Operator R Python Keterangan
NOT ! ! Operasi yang membalikkan nilai suatu operan
AND & & Mengembalikan nilai TRUE jika kedua operan bernilai Benar
OR | | Mengembalikan nilai FALSE jika kedua operan bernilai Salah
XOR || ^ Mengembalikan nilai TRUE jika salah satu operan bernilai Benar

Contoh

x <- c(0, TRUE, FALSE)
y <- c(TRUE, 0.1, 4+3i)

a. Logika Negasi

cat("Logika Negasi (~) untuk vektor x ", !x)
## Logika Negasi (~) untuk vektor x  TRUE FALSE TRUE
cat("Logika Negasi (~) untuk vektor y ", !y)
## Logika Negasi (~) untuk vektor y  FALSE FALSE FALSE

b. Logika Konjungsi

cat("Logika Konjungsi (dan) : ", x&y)
## Logika Konjungsi (dan) :  FALSE TRUE FALSE

c. Logika Disjungsi

cat("Logika Donjungsi (atau) : ", x|y)
## Logika Donjungsi (atau) :  TRUE TRUE TRUE

d. Logika Disjungsi Parsial

cat("Logika Disjungsi Parsial : ", x||y)
## Logika Disjungsi Parsial :  TRUE

3.4 Lain-lain

x <- c(2,3,4) #memuat vektor x
y <- c(3,4,5) #memuat vektor y

a. Bentuk akar

sqrt(x*y)
## [1] 2.449490 3.464102 4.472136

b. Bentuk logaritma

log(x)
## [1] 0.6931472 1.0986123 1.3862944

c. Bentuk eksponen

exp(y)
## [1]  20.08554  54.59815 148.41316

d. Tanda kurung

(x/y) + y
## [1] 3.666667 4.750000 5.800000

4 Tipe Data

Tipe data pada R dan python adalah

Tipe Data R Python Penjelasan
Integer 3 3 Bilangan bulat
Double/float 1.2 1.2 Bilangan pecahan
Boolean/Logical TRUE/FALSE True/False Bernilai benar (1) dan salah (0)
Character/String “a”,‘b’,‘123’ “a”,‘b’,‘123’ Karakter, kalimat berupa angka, huruf, dll dan diapit tanda petik satu atau tanda petik dua
Complex 1 + 5i 1 + 5j Pasangan angka real dan imajiner

a. Penulisan kelima tipe data tersebut

# Integer
d1 = as.integer(4)
# Desimal
d2 = 4.5
# Boolean
d3 = c(TRUE, FALSE)
# String dan Character
d4 = c("a", 'b', '123')
# Complex
d5 = 1 + 5i

b. Untuk memeriksa tipe data

# Mencetak nama kelas variabel
class(d1)
## [1] "integer"
# Mencetak tipe variabel x
typeof(d2)
## [1] "double"

c. Fungsi untuk mengubah tipe data

  • as.integer() untuk mengubah tipe data menjadi integer
  • as.double() untuk mengubah tipe data menjadi float
  • as.logical() untuk mengubah tipe data menjadi boolean
  • as.character() untuk mengubah tipe data menjadi character
  • as.complex() untuk mengubah tipe data menjadi kompleks



5 Data Frame

Data frame adalah tabel array dua dimensi dengan satu kolom berisi nilai dari satu varibel dan setiap baris berisi satu set nilai dari setiap kolom.

Ciri-ciri data frame:

  • Nama kolom tidak boleh kosong
  • Nama baris harus unik
  • Data dapat berupa tipe data numerik, faktor atau karakter
  • Setiap kolom harus berisi jumlah item data yang sama

5.1 Contoh data frame

df1_R <- data.frame(kode = c(1:5),
                    nama = c("Julian","Vannesa","Jeffry","Angel","Nikki"),
                    gaji = c(623.3, 515.2, 611.0, 729.0, 843.25),
                    mulai_kerja = as.Date(c("2022-01-01", "2022-09-23", "2022-11-15", "2022-05-11", "2022-03-27")),
                    divisi = c("DS","DS","BA","DA","DS"), 
                    stringsAsFactors = F)

df2_R <- data.frame(kode = c(6:10),
                    nama = c("Ardifo","Irene","Kefas","Sherly","Bakti"),
                    gaji = c(578.0, 722.5, 632.8, 632.8, NA),
                    mulai_kerja = as.Date(c("2022-05-21", "2022-07-30", "2022-06-17", "2022-07-30", "2018-09-03")),
                    divisi = c("Actuaries","Actuaries","CA","DE","Lecturer"),
                    stringsAsFactors = F)

5.2 Operasi yang dapat dilakukan di data frame

a. Menggabungkan dua data frame

df3_R <- rbind(df1_R, df2_R)

b. Mencetak hasil ‘df3_R’

print(df3_R)
##    kode    nama   gaji mulai_kerja    divisi
## 1     1  Julian 623.30  2022-01-01        DS
## 2     2 Vannesa 515.20  2022-09-23        DS
## 3     3  Jeffry 611.00  2022-11-15        BA
## 4     4   Angel 729.00  2022-05-11        DA
## 5     5   Nikki 843.25  2022-03-27        DS
## 6     6  Ardifo 578.00  2022-05-21 Actuaries
## 7     7   Irene 722.50  2022-07-30 Actuaries
## 8     8   Kefas 632.80  2022-06-17        CA
## 9     9  Sherly 632.80  2022-07-30        DE
## 10   10   Bakti     NA  2018-09-03  Lecturer

c. Mencetak enam baris pertama

head(df3_R)
##   kode    nama   gaji mulai_kerja    divisi
## 1    1  Julian 623.30  2022-01-01        DS
## 2    2 Vannesa 515.20  2022-09-23        DS
## 3    3  Jeffry 611.00  2022-11-15        BA
## 4    4   Angel 729.00  2022-05-11        DA
## 5    5   Nikki 843.25  2022-03-27        DS
## 6    6  Ardifo 578.00  2022-05-21 Actuaries

d. Mencetak tiga baris pertama

head(df3_R, 3)
##   kode    nama  gaji mulai_kerja divisi
## 1    1  Julian 623.3  2022-01-01     DS
## 2    2 Vannesa 515.2  2022-09-23     DS
## 3    3  Jeffry 611.0  2022-11-15     BA

e. Menampilkan data di RStudio layaknya excel

View(df3_R)

f. Check tipe data frame

class(df3_R)
## [1] "data.frame"

g. Check struktur data frame

str(df3_R)
## 'data.frame':    10 obs. of  5 variables:
##  $ kode       : int  1 2 3 4 5 6 7 8 9 10
##  $ nama       : chr  "Julian" "Vannesa" "Jeffry" "Angel" ...
##  $ gaji       : num  623 515 611 729 843 ...
##  $ mulai_kerja: Date, format: "2022-01-01" "2022-09-23" ...
##  $ divisi     : chr  "DS" "DS" "BA" "DA" ...

h. Periksa dimensi data

dim(df3_R)
## [1] 10  5

i. Summary statistik dasar

summary(df3_R)
##       kode           nama                gaji        mulai_kerja        
##  Min.   : 1.00   Length:10          Min.   :515.2   Min.   :2018-09-03  
##  1st Qu.: 3.25   Class :character   1st Qu.:611.0   1st Qu.:2022-04-07  
##  Median : 5.50   Mode  :character   Median :632.8   Median :2022-06-03  
##  Mean   : 5.50                      Mean   :654.2   Mean   :2022-01-31  
##  3rd Qu.: 7.75                      3rd Qu.:722.5   3rd Qu.:2022-07-30  
##  Max.   :10.00                      Max.   :843.2   Max.   :2022-11-15  
##                                     NA's   :1                           
##     divisi         
##  Length:10         
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Data frame biasa dibuat dengan membaca dataset menggunakan read.table() atau read.csv()



6 Rekayasa Data Frame

Data frame yang dibangun sendiri harus memperhatikan kaidah statistik atau matematik yang berlaku.

Contoh

No <- (1:52)
Nama <- c(LETTERS, letters)
Jenis_Kelamin <- sample(rep(c("Pria", "Wanita"), times=26))

#Menghasilkan tanggal lahir dengan time series
Tiga_Tahun<-seq(as.Date("2000/01/01"), by="year", length.out = 4)
Tanggal_Lahir<-rep(Tiga_Tahun, times=13)

#Kategori Universitas
univ1<-rep("Negeri", times=26) #26 universitas negeri
univ2<-rep("Swasta", times=16) #16 universitas swasta
univ3<-rep("LN", times=10) #10 universitas luar negeri
Universitas<-sample(c(univ1, univ2, univ3)) #Menggabungkan vektor di atas

#Menghasilkan 52 angka acak dengan min = 3 dan max = 4
gpa<-runif(52, min=3.00, max = 4.00) 

#Atur digit angka acak
GPA<-round(gpa, digits = 2)

#Hasilkan sampel antara 600-1200 (izinkan nilai duplikat)
Gaji<-sample(600:1200,52,replace=T)

Karyawan_R<-data.frame(No, Nama, Tanggal_Lahir,
                       Jenis_Kelamin, Universitas, GPA, Gaji)
print(Karyawan_R)
##    No Nama Tanggal_Lahir Jenis_Kelamin Universitas  GPA Gaji
## 1   1    A    2000-01-01          Pria          LN 3.13  948
## 2   2    B    2001-01-01          Pria          LN 3.28  791
## 3   3    C    2002-01-01        Wanita      Negeri 3.01 1033
## 4   4    D    2003-01-01          Pria      Negeri 3.10  601
## 5   5    E    2000-01-01        Wanita          LN 3.23  733
## 6   6    F    2001-01-01          Pria      Negeri 3.98 1039
## 7   7    G    2002-01-01        Wanita      Negeri 3.87  848
## 8   8    H    2003-01-01          Pria      Swasta 3.39  646
## 9   9    I    2000-01-01        Wanita      Swasta 3.29  898
## 10 10    J    2001-01-01          Pria      Swasta 3.20  645
## 11 11    K    2002-01-01        Wanita      Swasta 3.67  653
## 12 12    L    2003-01-01          Pria      Negeri 3.72  856
## 13 13    M    2000-01-01          Pria      Swasta 3.20  798
## 14 14    N    2001-01-01        Wanita      Negeri 3.94  791
## 15 15    O    2002-01-01          Pria          LN 3.07  851
## 16 16    P    2003-01-01        Wanita      Swasta 3.72  870
## 17 17    Q    2000-01-01          Pria      Negeri 3.41 1032
## 18 18    R    2001-01-01        Wanita      Swasta 3.59  605
## 19 19    S    2002-01-01        Wanita      Negeri 3.33  766
## 20 20    T    2003-01-01          Pria          LN 3.23 1094
## 21 21    U    2000-01-01          Pria          LN 3.38 1109
## 22 22    V    2001-01-01          Pria          LN 3.36  684
## 23 23    W    2002-01-01        Wanita      Negeri 3.57  877
## 24 24    X    2003-01-01          Pria      Negeri 3.80 1174
## 25 25    Y    2000-01-01          Pria      Negeri 3.95  611
## 26 26    Z    2001-01-01          Pria      Swasta 3.52  758
## 27 27    a    2002-01-01        Wanita      Swasta 3.92  857
## 28 28    b    2003-01-01        Wanita      Negeri 3.56  771
## 29 29    c    2000-01-01        Wanita      Swasta 3.37  969
## 30 30    d    2001-01-01        Wanita          LN 3.46  990
## 31 31    e    2002-01-01          Pria      Negeri 3.04  906
## 32 32    f    2003-01-01        Wanita      Swasta 3.87 1017
## 33 33    g    2000-01-01          Pria      Negeri 3.16  947
## 34 34    h    2001-01-01        Wanita      Negeri 3.24 1092
## 35 35    i    2002-01-01        Wanita      Negeri 3.86  971
## 36 36    j    2003-01-01          Pria      Swasta 3.89  905
## 37 37    k    2000-01-01          Pria      Negeri 3.45  806
## 38 38    l    2001-01-01        Wanita      Negeri 3.46 1122
## 39 39    m    2002-01-01          Pria      Swasta 3.33  868
## 40 40    n    2003-01-01          Pria          LN 3.70  778
## 41 41    o    2000-01-01          Pria      Negeri 3.68  625
## 42 42    p    2001-01-01        Wanita      Swasta 3.54  901
## 43 43    q    2002-01-01        Wanita      Negeri 3.63 1014
## 44 44    r    2003-01-01        Wanita      Negeri 3.75  968
## 45 45    s    2000-01-01        Wanita      Swasta 3.64  809
## 46 46    t    2001-01-01          Pria      Swasta 3.27 1186
## 47 47    u    2002-01-01          Pria          LN 3.11  872
## 48 48    v    2003-01-01        Wanita      Negeri 3.36  891
## 49 49    w    2000-01-01        Wanita      Negeri 3.39 1195
## 50 50    x    2001-01-01        Wanita      Negeri 3.80 1142
## 51 51    y    2002-01-01          Pria      Negeri 3.47  887
## 52 52    z    2003-01-01        Wanita      Negeri 3.75  629



7 Ekstraksi Data Frame

7.1 Ekstrak Data

a. Cek tipe datanya

typeof(Karyawan_R)
## [1] "list"
class(Karyawan_R)
## [1] "data.frame"

b. Ekstrak elemen dari baris ke-1 dan kolom ke-5

Karyawan_R[1,5] 
## [1] "LN"

c. Ekstrak spesifik kolom (‘Nama’)

Karyawan_R$Nama
##  [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" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l"
## [39] "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z"

d. Ekstrak spesifik kolom (‘Nama’, ‘Jenis Kelamin’)

Karyawan_R[,c('Nama', 'Jenis_Kelamin')]
##    Nama Jenis_Kelamin
## 1     A          Pria
## 2     B          Pria
## 3     C        Wanita
## 4     D          Pria
## 5     E        Wanita
## 6     F          Pria
## 7     G        Wanita
## 8     H          Pria
## 9     I        Wanita
## 10    J          Pria
## 11    K        Wanita
## 12    L          Pria
## 13    M          Pria
## 14    N        Wanita
## 15    O          Pria
## 16    P        Wanita
## 17    Q          Pria
## 18    R        Wanita
## 19    S        Wanita
## 20    T          Pria
## 21    U          Pria
## 22    V          Pria
## 23    W        Wanita
## 24    X          Pria
## 25    Y          Pria
## 26    Z          Pria
## 27    a        Wanita
## 28    b        Wanita
## 29    c        Wanita
## 30    d        Wanita
## 31    e          Pria
## 32    f        Wanita
## 33    g          Pria
## 34    h        Wanita
## 35    i        Wanita
## 36    j          Pria
## 37    k          Pria
## 38    l        Wanita
## 39    m          Pria
## 40    n          Pria
## 41    o          Pria
## 42    p        Wanita
## 43    q        Wanita
## 44    r        Wanita
## 45    s        Wanita
## 46    t          Pria
## 47    u          Pria
## 48    v        Wanita
## 49    w        Wanita
## 50    x        Wanita
## 51    y          Pria
## 52    z        Wanita

e. Ekstrak lima baris pertama Karyawan_R

Karyawan_R[1:5,]
##   No Nama Tanggal_Lahir Jenis_Kelamin Universitas  GPA Gaji
## 1  1    A    2000-01-01          Pria          LN 3.13  948
## 2  2    B    2001-01-01          Pria          LN 3.28  791
## 3  3    C    2002-01-01        Wanita      Negeri 3.01 1033
## 4  4    D    2003-01-01          Pria      Negeri 3.10  601
## 5  5    E    2000-01-01        Wanita          LN 3.23  733

f. Ekstrak lima kolom pertama Karyawan_R

Karyawan_R[,1:5]
##    No Nama Tanggal_Lahir Jenis_Kelamin Universitas
## 1   1    A    2000-01-01          Pria          LN
## 2   2    B    2001-01-01          Pria          LN
## 3   3    C    2002-01-01        Wanita      Negeri
## 4   4    D    2003-01-01          Pria      Negeri
## 5   5    E    2000-01-01        Wanita          LN
## 6   6    F    2001-01-01          Pria      Negeri
## 7   7    G    2002-01-01        Wanita      Negeri
## 8   8    H    2003-01-01          Pria      Swasta
## 9   9    I    2000-01-01        Wanita      Swasta
## 10 10    J    2001-01-01          Pria      Swasta
## 11 11    K    2002-01-01        Wanita      Swasta
## 12 12    L    2003-01-01          Pria      Negeri
## 13 13    M    2000-01-01          Pria      Swasta
## 14 14    N    2001-01-01        Wanita      Negeri
## 15 15    O    2002-01-01          Pria          LN
## 16 16    P    2003-01-01        Wanita      Swasta
## 17 17    Q    2000-01-01          Pria      Negeri
## 18 18    R    2001-01-01        Wanita      Swasta
## 19 19    S    2002-01-01        Wanita      Negeri
## 20 20    T    2003-01-01          Pria          LN
## 21 21    U    2000-01-01          Pria          LN
## 22 22    V    2001-01-01          Pria          LN
## 23 23    W    2002-01-01        Wanita      Negeri
## 24 24    X    2003-01-01          Pria      Negeri
## 25 25    Y    2000-01-01          Pria      Negeri
## 26 26    Z    2001-01-01          Pria      Swasta
## 27 27    a    2002-01-01        Wanita      Swasta
## 28 28    b    2003-01-01        Wanita      Negeri
## 29 29    c    2000-01-01        Wanita      Swasta
## 30 30    d    2001-01-01        Wanita          LN
## 31 31    e    2002-01-01          Pria      Negeri
## 32 32    f    2003-01-01        Wanita      Swasta
## 33 33    g    2000-01-01          Pria      Negeri
## 34 34    h    2001-01-01        Wanita      Negeri
## 35 35    i    2002-01-01        Wanita      Negeri
## 36 36    j    2003-01-01          Pria      Swasta
## 37 37    k    2000-01-01          Pria      Negeri
## 38 38    l    2001-01-01        Wanita      Negeri
## 39 39    m    2002-01-01          Pria      Swasta
## 40 40    n    2003-01-01          Pria          LN
## 41 41    o    2000-01-01          Pria      Negeri
## 42 42    p    2001-01-01        Wanita      Swasta
## 43 43    q    2002-01-01        Wanita      Negeri
## 44 44    r    2003-01-01        Wanita      Negeri
## 45 45    s    2000-01-01        Wanita      Swasta
## 46 46    t    2001-01-01          Pria      Swasta
## 47 47    u    2002-01-01          Pria          LN
## 48 48    v    2003-01-01        Wanita      Negeri
## 49 49    w    2000-01-01        Wanita      Negeri
## 50 50    x    2001-01-01        Wanita      Negeri
## 51 51    y    2002-01-01          Pria      Negeri
## 52 52    z    2003-01-01        Wanita      Negeri

g. Ekstrak/subset spesifik kolom

subset(Karyawan_R, select = GPA)
##     GPA
## 1  3.13
## 2  3.28
## 3  3.01
## 4  3.10
## 5  3.23
## 6  3.98
## 7  3.87
## 8  3.39
## 9  3.29
## 10 3.20
## 11 3.67
## 12 3.72
## 13 3.20
## 14 3.94
## 15 3.07
## 16 3.72
## 17 3.41
## 18 3.59
## 19 3.33
## 20 3.23
## 21 3.38
## 22 3.36
## 23 3.57
## 24 3.80
## 25 3.95
## 26 3.52
## 27 3.92
## 28 3.56
## 29 3.37
## 30 3.46
## 31 3.04
## 32 3.87
## 33 3.16
## 34 3.24
## 35 3.86
## 36 3.89
## 37 3.45
## 38 3.46
## 39 3.33
## 40 3.70
## 41 3.68
## 42 3.54
## 43 3.63
## 44 3.75
## 45 3.64
## 46 3.27
## 47 3.11
## 48 3.36
## 49 3.39
## 50 3.80
## 51 3.47
## 52 3.75
subset(Karyawan_R, select = 6)
##     GPA
## 1  3.13
## 2  3.28
## 3  3.01
## 4  3.10
## 5  3.23
## 6  3.98
## 7  3.87
## 8  3.39
## 9  3.29
## 10 3.20
## 11 3.67
## 12 3.72
## 13 3.20
## 14 3.94
## 15 3.07
## 16 3.72
## 17 3.41
## 18 3.59
## 19 3.33
## 20 3.23
## 21 3.38
## 22 3.36
## 23 3.57
## 24 3.80
## 25 3.95
## 26 3.52
## 27 3.92
## 28 3.56
## 29 3.37
## 30 3.46
## 31 3.04
## 32 3.87
## 33 3.16
## 34 3.24
## 35 3.86
## 36 3.89
## 37 3.45
## 38 3.46
## 39 3.33
## 40 3.70
## 41 3.68
## 42 3.54
## 43 3.63
## 44 3.75
## 45 3.64
## 46 3.27
## 47 3.11
## 48 3.36
## 49 3.39
## 50 3.80
## 51 3.47
## 52 3.75

h. Ekstrak/subset kolom pertama dan kedua

subset(Karyawan_R, select = c(6,7))
##     GPA Gaji
## 1  3.13  948
## 2  3.28  791
## 3  3.01 1033
## 4  3.10  601
## 5  3.23  733
## 6  3.98 1039
## 7  3.87  848
## 8  3.39  646
## 9  3.29  898
## 10 3.20  645
## 11 3.67  653
## 12 3.72  856
## 13 3.20  798
## 14 3.94  791
## 15 3.07  851
## 16 3.72  870
## 17 3.41 1032
## 18 3.59  605
## 19 3.33  766
## 20 3.23 1094
## 21 3.38 1109
## 22 3.36  684
## 23 3.57  877
## 24 3.80 1174
## 25 3.95  611
## 26 3.52  758
## 27 3.92  857
## 28 3.56  771
## 29 3.37  969
## 30 3.46  990
## 31 3.04  906
## 32 3.87 1017
## 33 3.16  947
## 34 3.24 1092
## 35 3.86  971
## 36 3.89  905
## 37 3.45  806
## 38 3.46 1122
## 39 3.33  868
## 40 3.70  778
## 41 3.68  625
## 42 3.54  901
## 43 3.63 1014
## 44 3.75  968
## 45 3.64  809
## 46 3.27 1186
## 47 3.11  872
## 48 3.36  891
## 49 3.39 1195
## 50 3.80 1142
## 51 3.47  887
## 52 3.75  629

i. Ekstrak/subset kolom tertentu

subset(Karyawan_R, select = c(2:5))
##    Nama Tanggal_Lahir Jenis_Kelamin Universitas
## 1     A    2000-01-01          Pria          LN
## 2     B    2001-01-01          Pria          LN
## 3     C    2002-01-01        Wanita      Negeri
## 4     D    2003-01-01          Pria      Negeri
## 5     E    2000-01-01        Wanita          LN
## 6     F    2001-01-01          Pria      Negeri
## 7     G    2002-01-01        Wanita      Negeri
## 8     H    2003-01-01          Pria      Swasta
## 9     I    2000-01-01        Wanita      Swasta
## 10    J    2001-01-01          Pria      Swasta
## 11    K    2002-01-01        Wanita      Swasta
## 12    L    2003-01-01          Pria      Negeri
## 13    M    2000-01-01          Pria      Swasta
## 14    N    2001-01-01        Wanita      Negeri
## 15    O    2002-01-01          Pria          LN
## 16    P    2003-01-01        Wanita      Swasta
## 17    Q    2000-01-01          Pria      Negeri
## 18    R    2001-01-01        Wanita      Swasta
## 19    S    2002-01-01        Wanita      Negeri
## 20    T    2003-01-01          Pria          LN
## 21    U    2000-01-01          Pria          LN
## 22    V    2001-01-01          Pria          LN
## 23    W    2002-01-01        Wanita      Negeri
## 24    X    2003-01-01          Pria      Negeri
## 25    Y    2000-01-01          Pria      Negeri
## 26    Z    2001-01-01          Pria      Swasta
## 27    a    2002-01-01        Wanita      Swasta
## 28    b    2003-01-01        Wanita      Negeri
## 29    c    2000-01-01        Wanita      Swasta
## 30    d    2001-01-01        Wanita          LN
## 31    e    2002-01-01          Pria      Negeri
## 32    f    2003-01-01        Wanita      Swasta
## 33    g    2000-01-01          Pria      Negeri
## 34    h    2001-01-01        Wanita      Negeri
## 35    i    2002-01-01        Wanita      Negeri
## 36    j    2003-01-01          Pria      Swasta
## 37    k    2000-01-01          Pria      Negeri
## 38    l    2001-01-01        Wanita      Negeri
## 39    m    2002-01-01          Pria      Swasta
## 40    n    2003-01-01          Pria          LN
## 41    o    2000-01-01          Pria      Negeri
## 42    p    2001-01-01        Wanita      Swasta
## 43    q    2002-01-01        Wanita      Negeri
## 44    r    2003-01-01        Wanita      Negeri
## 45    s    2000-01-01        Wanita      Swasta
## 46    t    2001-01-01          Pria      Swasta
## 47    u    2002-01-01          Pria          LN
## 48    v    2003-01-01        Wanita      Negeri
## 49    w    2000-01-01        Wanita      Negeri
## 50    x    2001-01-01        Wanita      Negeri
## 51    y    2002-01-01          Pria      Negeri
## 52    z    2003-01-01        Wanita      Negeri

7.2 Menambahkan variabel

Karyawan_R$Pajak <- Karyawan_R$Gaji*0.03 #Menambahkan variabel pajak
Karyawan_R$Gaji_Bersih <- Karyawan_R$Gaji - Karyawan_R$Pajak #Menambahkan variabel gaji bersih
Karyawan_R$Gaji_Grup1 <- Karyawan_R$Gaji > 950 #Menambahkan variabel Gaji Grup 1
Karyawan_R$Gaji_Grup2 <- ifelse(Karyawan_R$Gaji > 950, "Gaji Besar", "Gaji Kecil") #Menambahkan variabel Gaji Grup 2
Karyawan_R$Gaji_Grup3 <- factor(Karyawan_R$GPA > 3.5 & Karyawan_R$Gaji > 950, labels = c("level1", "level2")) #Menambahkan variabel Gaji Grup 3

7.3 Statistik

a. Mencari Nilai Minimal ‘Gaji’

min(Karyawan_R$Gaji)
## [1] 601

b. Mencari Nilai Maksimal ‘Gaji’

max(Karyawan_R$Gaji)
## [1] 1195

c. Mencari Nilai Rerata ‘Gaji’

mean(Karyawan_R$Gaji)
## [1] 881.3269

d. Mencari Variansi ‘Gaji’

var(Karyawan_R$Gaji)
## [1] 26812.38

e. Mencari standar deviasi ‘Gaji’

sd(Karyawan_R$Gaji)
## [1] 163.7449

f. Statistik dasar data frame ‘Gaji’

summary(Karyawan_R$Gaji)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   601.0   776.2   874.5   881.3   996.0  1195.0

8 Ganti Nama Variabel

Ada dua cara mengganti nama variabel pada R, yaitu

  1. Dengan fungsi names()
  2. Dengan fungsi rename()

a. Dengan fungsi names()

#Mengubah nama data frame
rename_1<-Karyawan_R

#Mengubah nama variabel pada data
names(rename_1)<-c("no", "nama", "tgl.lahir", "jenis.kelamin", "univ", "ipk", "gaji")

rename_1
##    no nama  tgl.lahir jenis.kelamin   univ  ipk gaji    NA      NA    NA
## 1   1    A 2000-01-01          Pria     LN 3.13  948 28.44  919.56 FALSE
## 2   2    B 2001-01-01          Pria     LN 3.28  791 23.73  767.27 FALSE
## 3   3    C 2002-01-01        Wanita Negeri 3.01 1033 30.99 1002.01  TRUE
## 4   4    D 2003-01-01          Pria Negeri 3.10  601 18.03  582.97 FALSE
## 5   5    E 2000-01-01        Wanita     LN 3.23  733 21.99  711.01 FALSE
## 6   6    F 2001-01-01          Pria Negeri 3.98 1039 31.17 1007.83  TRUE
## 7   7    G 2002-01-01        Wanita Negeri 3.87  848 25.44  822.56 FALSE
## 8   8    H 2003-01-01          Pria Swasta 3.39  646 19.38  626.62 FALSE
## 9   9    I 2000-01-01        Wanita Swasta 3.29  898 26.94  871.06 FALSE
## 10 10    J 2001-01-01          Pria Swasta 3.20  645 19.35  625.65 FALSE
## 11 11    K 2002-01-01        Wanita Swasta 3.67  653 19.59  633.41 FALSE
## 12 12    L 2003-01-01          Pria Negeri 3.72  856 25.68  830.32 FALSE
## 13 13    M 2000-01-01          Pria Swasta 3.20  798 23.94  774.06 FALSE
## 14 14    N 2001-01-01        Wanita Negeri 3.94  791 23.73  767.27 FALSE
## 15 15    O 2002-01-01          Pria     LN 3.07  851 25.53  825.47 FALSE
## 16 16    P 2003-01-01        Wanita Swasta 3.72  870 26.10  843.90 FALSE
## 17 17    Q 2000-01-01          Pria Negeri 3.41 1032 30.96 1001.04  TRUE
## 18 18    R 2001-01-01        Wanita Swasta 3.59  605 18.15  586.85 FALSE
## 19 19    S 2002-01-01        Wanita Negeri 3.33  766 22.98  743.02 FALSE
## 20 20    T 2003-01-01          Pria     LN 3.23 1094 32.82 1061.18  TRUE
## 21 21    U 2000-01-01          Pria     LN 3.38 1109 33.27 1075.73  TRUE
## 22 22    V 2001-01-01          Pria     LN 3.36  684 20.52  663.48 FALSE
## 23 23    W 2002-01-01        Wanita Negeri 3.57  877 26.31  850.69 FALSE
## 24 24    X 2003-01-01          Pria Negeri 3.80 1174 35.22 1138.78  TRUE
## 25 25    Y 2000-01-01          Pria Negeri 3.95  611 18.33  592.67 FALSE
## 26 26    Z 2001-01-01          Pria Swasta 3.52  758 22.74  735.26 FALSE
## 27 27    a 2002-01-01        Wanita Swasta 3.92  857 25.71  831.29 FALSE
## 28 28    b 2003-01-01        Wanita Negeri 3.56  771 23.13  747.87 FALSE
## 29 29    c 2000-01-01        Wanita Swasta 3.37  969 29.07  939.93  TRUE
## 30 30    d 2001-01-01        Wanita     LN 3.46  990 29.70  960.30  TRUE
## 31 31    e 2002-01-01          Pria Negeri 3.04  906 27.18  878.82 FALSE
## 32 32    f 2003-01-01        Wanita Swasta 3.87 1017 30.51  986.49  TRUE
## 33 33    g 2000-01-01          Pria Negeri 3.16  947 28.41  918.59 FALSE
## 34 34    h 2001-01-01        Wanita Negeri 3.24 1092 32.76 1059.24  TRUE
## 35 35    i 2002-01-01        Wanita Negeri 3.86  971 29.13  941.87  TRUE
## 36 36    j 2003-01-01          Pria Swasta 3.89  905 27.15  877.85 FALSE
## 37 37    k 2000-01-01          Pria Negeri 3.45  806 24.18  781.82 FALSE
## 38 38    l 2001-01-01        Wanita Negeri 3.46 1122 33.66 1088.34  TRUE
## 39 39    m 2002-01-01          Pria Swasta 3.33  868 26.04  841.96 FALSE
## 40 40    n 2003-01-01          Pria     LN 3.70  778 23.34  754.66 FALSE
## 41 41    o 2000-01-01          Pria Negeri 3.68  625 18.75  606.25 FALSE
## 42 42    p 2001-01-01        Wanita Swasta 3.54  901 27.03  873.97 FALSE
## 43 43    q 2002-01-01        Wanita Negeri 3.63 1014 30.42  983.58  TRUE
## 44 44    r 2003-01-01        Wanita Negeri 3.75  968 29.04  938.96  TRUE
## 45 45    s 2000-01-01        Wanita Swasta 3.64  809 24.27  784.73 FALSE
## 46 46    t 2001-01-01          Pria Swasta 3.27 1186 35.58 1150.42  TRUE
## 47 47    u 2002-01-01          Pria     LN 3.11  872 26.16  845.84 FALSE
## 48 48    v 2003-01-01        Wanita Negeri 3.36  891 26.73  864.27 FALSE
## 49 49    w 2000-01-01        Wanita Negeri 3.39 1195 35.85 1159.15  TRUE
## 50 50    x 2001-01-01        Wanita Negeri 3.80 1142 34.26 1107.74  TRUE
## 51 51    y 2002-01-01          Pria Negeri 3.47  887 26.61  860.39 FALSE
## 52 52    z 2003-01-01        Wanita Negeri 3.75  629 18.87  610.13 FALSE
##            NA     NA
## 1  Gaji Kecil level1
## 2  Gaji Kecil level1
## 3  Gaji Besar level1
## 4  Gaji Kecil level1
## 5  Gaji Kecil level1
## 6  Gaji Besar level2
## 7  Gaji Kecil level1
## 8  Gaji Kecil level1
## 9  Gaji Kecil level1
## 10 Gaji Kecil level1
## 11 Gaji Kecil level1
## 12 Gaji Kecil level1
## 13 Gaji Kecil level1
## 14 Gaji Kecil level1
## 15 Gaji Kecil level1
## 16 Gaji Kecil level1
## 17 Gaji Besar level1
## 18 Gaji Kecil level1
## 19 Gaji Kecil level1
## 20 Gaji Besar level1
## 21 Gaji Besar level1
## 22 Gaji Kecil level1
## 23 Gaji Kecil level1
## 24 Gaji Besar level2
## 25 Gaji Kecil level1
## 26 Gaji Kecil level1
## 27 Gaji Kecil level1
## 28 Gaji Kecil level1
## 29 Gaji Besar level1
## 30 Gaji Besar level1
## 31 Gaji Kecil level1
## 32 Gaji Besar level2
## 33 Gaji Kecil level1
## 34 Gaji Besar level1
## 35 Gaji Besar level2
## 36 Gaji Kecil level1
## 37 Gaji Kecil level1
## 38 Gaji Besar level1
## 39 Gaji Kecil level1
## 40 Gaji Kecil level1
## 41 Gaji Kecil level1
## 42 Gaji Kecil level1
## 43 Gaji Besar level2
## 44 Gaji Besar level2
## 45 Gaji Kecil level1
## 46 Gaji Besar level1
## 47 Gaji Kecil level1
## 48 Gaji Kecil level1
## 49 Gaji Besar level1
## 50 Gaji Besar level2
## 51 Gaji Kecil level1
## 52 Gaji Kecil level1

b. Dengan fungsi rename()

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.4     v dplyr   1.0.7
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
Karyawan_R %>%
  rename("no" = "No",
         "nama" = "Nama",
         "tanggal.lahir" = "Tanggal_Lahir",
         "jenis.kelamin" = "Jenis_Kelamin",
         "univ" = "Universitas",
         "ipk" = "GPA",
         "gaji" = "Gaji")
##    no nama tanggal.lahir jenis.kelamin   univ  ipk gaji Pajak Gaji_Bersih
## 1   1    A    2000-01-01          Pria     LN 3.13  948 28.44      919.56
## 2   2    B    2001-01-01          Pria     LN 3.28  791 23.73      767.27
## 3   3    C    2002-01-01        Wanita Negeri 3.01 1033 30.99     1002.01
## 4   4    D    2003-01-01          Pria Negeri 3.10  601 18.03      582.97
## 5   5    E    2000-01-01        Wanita     LN 3.23  733 21.99      711.01
## 6   6    F    2001-01-01          Pria Negeri 3.98 1039 31.17     1007.83
## 7   7    G    2002-01-01        Wanita Negeri 3.87  848 25.44      822.56
## 8   8    H    2003-01-01          Pria Swasta 3.39  646 19.38      626.62
## 9   9    I    2000-01-01        Wanita Swasta 3.29  898 26.94      871.06
## 10 10    J    2001-01-01          Pria Swasta 3.20  645 19.35      625.65
## 11 11    K    2002-01-01        Wanita Swasta 3.67  653 19.59      633.41
## 12 12    L    2003-01-01          Pria Negeri 3.72  856 25.68      830.32
## 13 13    M    2000-01-01          Pria Swasta 3.20  798 23.94      774.06
## 14 14    N    2001-01-01        Wanita Negeri 3.94  791 23.73      767.27
## 15 15    O    2002-01-01          Pria     LN 3.07  851 25.53      825.47
## 16 16    P    2003-01-01        Wanita Swasta 3.72  870 26.10      843.90
## 17 17    Q    2000-01-01          Pria Negeri 3.41 1032 30.96     1001.04
## 18 18    R    2001-01-01        Wanita Swasta 3.59  605 18.15      586.85
## 19 19    S    2002-01-01        Wanita Negeri 3.33  766 22.98      743.02
## 20 20    T    2003-01-01          Pria     LN 3.23 1094 32.82     1061.18
## 21 21    U    2000-01-01          Pria     LN 3.38 1109 33.27     1075.73
## 22 22    V    2001-01-01          Pria     LN 3.36  684 20.52      663.48
## 23 23    W    2002-01-01        Wanita Negeri 3.57  877 26.31      850.69
## 24 24    X    2003-01-01          Pria Negeri 3.80 1174 35.22     1138.78
## 25 25    Y    2000-01-01          Pria Negeri 3.95  611 18.33      592.67
## 26 26    Z    2001-01-01          Pria Swasta 3.52  758 22.74      735.26
## 27 27    a    2002-01-01        Wanita Swasta 3.92  857 25.71      831.29
## 28 28    b    2003-01-01        Wanita Negeri 3.56  771 23.13      747.87
## 29 29    c    2000-01-01        Wanita Swasta 3.37  969 29.07      939.93
## 30 30    d    2001-01-01        Wanita     LN 3.46  990 29.70      960.30
## 31 31    e    2002-01-01          Pria Negeri 3.04  906 27.18      878.82
## 32 32    f    2003-01-01        Wanita Swasta 3.87 1017 30.51      986.49
## 33 33    g    2000-01-01          Pria Negeri 3.16  947 28.41      918.59
## 34 34    h    2001-01-01        Wanita Negeri 3.24 1092 32.76     1059.24
## 35 35    i    2002-01-01        Wanita Negeri 3.86  971 29.13      941.87
## 36 36    j    2003-01-01          Pria Swasta 3.89  905 27.15      877.85
## 37 37    k    2000-01-01          Pria Negeri 3.45  806 24.18      781.82
## 38 38    l    2001-01-01        Wanita Negeri 3.46 1122 33.66     1088.34
## 39 39    m    2002-01-01          Pria Swasta 3.33  868 26.04      841.96
## 40 40    n    2003-01-01          Pria     LN 3.70  778 23.34      754.66
## 41 41    o    2000-01-01          Pria Negeri 3.68  625 18.75      606.25
## 42 42    p    2001-01-01        Wanita Swasta 3.54  901 27.03      873.97
## 43 43    q    2002-01-01        Wanita Negeri 3.63 1014 30.42      983.58
## 44 44    r    2003-01-01        Wanita Negeri 3.75  968 29.04      938.96
## 45 45    s    2000-01-01        Wanita Swasta 3.64  809 24.27      784.73
## 46 46    t    2001-01-01          Pria Swasta 3.27 1186 35.58     1150.42
## 47 47    u    2002-01-01          Pria     LN 3.11  872 26.16      845.84
## 48 48    v    2003-01-01        Wanita Negeri 3.36  891 26.73      864.27
## 49 49    w    2000-01-01        Wanita Negeri 3.39 1195 35.85     1159.15
## 50 50    x    2001-01-01        Wanita Negeri 3.80 1142 34.26     1107.74
## 51 51    y    2002-01-01          Pria Negeri 3.47  887 26.61      860.39
## 52 52    z    2003-01-01        Wanita Negeri 3.75  629 18.87      610.13
##    Gaji_Grup1 Gaji_Grup2 Gaji_Grup3
## 1       FALSE Gaji Kecil     level1
## 2       FALSE Gaji Kecil     level1
## 3        TRUE Gaji Besar     level1
## 4       FALSE Gaji Kecil     level1
## 5       FALSE Gaji Kecil     level1
## 6        TRUE Gaji Besar     level2
## 7       FALSE Gaji Kecil     level1
## 8       FALSE Gaji Kecil     level1
## 9       FALSE Gaji Kecil     level1
## 10      FALSE Gaji Kecil     level1
## 11      FALSE Gaji Kecil     level1
## 12      FALSE Gaji Kecil     level1
## 13      FALSE Gaji Kecil     level1
## 14      FALSE Gaji Kecil     level1
## 15      FALSE Gaji Kecil     level1
## 16      FALSE Gaji Kecil     level1
## 17       TRUE Gaji Besar     level1
## 18      FALSE Gaji Kecil     level1
## 19      FALSE Gaji Kecil     level1
## 20       TRUE Gaji Besar     level1
## 21       TRUE Gaji Besar     level1
## 22      FALSE Gaji Kecil     level1
## 23      FALSE Gaji Kecil     level1
## 24       TRUE Gaji Besar     level2
## 25      FALSE Gaji Kecil     level1
## 26      FALSE Gaji Kecil     level1
## 27      FALSE Gaji Kecil     level1
## 28      FALSE Gaji Kecil     level1
## 29       TRUE Gaji Besar     level1
## 30       TRUE Gaji Besar     level1
## 31      FALSE Gaji Kecil     level1
## 32       TRUE Gaji Besar     level2
## 33      FALSE Gaji Kecil     level1
## 34       TRUE Gaji Besar     level1
## 35       TRUE Gaji Besar     level2
## 36      FALSE Gaji Kecil     level1
## 37      FALSE Gaji Kecil     level1
## 38       TRUE Gaji Besar     level1
## 39      FALSE Gaji Kecil     level1
## 40      FALSE Gaji Kecil     level1
## 41      FALSE Gaji Kecil     level1
## 42      FALSE Gaji Kecil     level1
## 43       TRUE Gaji Besar     level2
## 44       TRUE Gaji Besar     level2
## 45      FALSE Gaji Kecil     level1
## 46       TRUE Gaji Besar     level1
## 47      FALSE Gaji Kecil     level1
## 48      FALSE Gaji Kecil     level1
## 49       TRUE Gaji Besar     level1
## 50       TRUE Gaji Besar     level2
## 51      FALSE Gaji Kecil     level1
## 52      FALSE Gaji Kecil     level1