Penerapan VLOOKUP dengan R

Penerapan VLOOKUP dalam R

Fungsi VLOOKUP merupakan salah satu fungsi yang banyak digemari dalam bahasa excel. Fungsi dari VLOOKUP sendiri memang menarik, ketika kita menginput nilai pada sebuah sel, maka pada sel lain yang diberi identitas tertentu akan menampilkan nilai yang bersesuaian (berdasarkan database) dengan isian yang kita input tadi secara vertikal, kalau secara horizontal biasanya menggunakan HLOOKUP. Gambaran singkat VLOOKUP sendiri dalam excel dapat kita lihat dari gambar berikut:

 

VLOOKUP di Excel

Dalam penerapannya di R, kita juga bisa kok membangun sendiri VLOOKUP yang prinsip kerjanya sama persis dengan excel. Hanya saja, sebelum kita melakukan penggabungan data, kita perlu menginstal dan mengaktifkan package dplyr terlebih dahulu. Package dplyr ini sangat powerful untuk kebutuhan data wrangling dan data manipulation.

Setelah itu, data pertama kita siapkan, demikian pula data kedua. Setelah kita gabung menggunakan fungsi inner_join() yang tertanam di dalam package dplyr berdasarkan ID penggabungan tertentu, kita akan bisa menerapkan VLOOKUP yang sistem kerjanya sama dengan di excel. Oke, langsung saja kita masuk coding.

Code:

#Data Frame 1
df1 <- data.frame(pemain=LETTERS[1:15],
                  tim=rep(c('A', 'B', 'C'), each=5))

Hasil:

   pemain tim
1       A   A
2       B   A
3       C   A
4       D   A
5       E   A
6       F   B
7       G   B
8       H   B
9       I   B
10      J   B
11      K   C
12      L   C
13      M   C
14      N   C
15      O   C

Code:

#Data Frame 2
df2 <- data.frame(pemain=LETTERS[1:15],
                  poin=c(14, 15, 15, 16, 8, 9, 16, 27, 30, 24, 14, 19, 8, 6, 5))

Hasil:

   pemain poin
1       A   14
2       B   15
3       C   15
4       D   16
5       E    8
6       F    9
7       G   16
8       H   27
9       I   30
10      J   24
11      K   14
12      L   19
13      M    8
14      N    6
15      O    5

Code:

#VLOOKUP dengan berdasarkan ID-nya pemain
inner_join(df1, df2, by="pemain")

Hasil:

   pemain tim poin
1       A   A   14
2       B   A   15
3       C   A   15
4       D   A   16
5       E   A    8
6       F   B    9
7       G   B   16
8       H   B   27
9       I   B   30
10      J   B   24
11      K   C   14
12      L   C   19
13      M   C    8
14      N   C    6
15      O   C    5

Berdasarkan fungsi inner_join() dalam package dplyr ini, mari kita bangun bersama sebuah VLOOKUP versi R dengan sedikit membuat fungsi inputan sebagaimana keterangan pada gambar excel di atas. Proyek kecil kita ini adalah bagaimana membangun input pemesanan sebuah buku dengan nomor ID tertentu dan setelah kita masukkan inputnya langsung muncul keterangan nama buku yang kita pesan dan berapa harganya berdasarkan database yang telah kita bangun sebelumnya.

Code:

#Data Nomor Buku dan Harganya
databuku <- data.frame(Nomor=seq(from = 1, to = 5, by = 1), Harga = c(80000,100000,70000,55000,50000))
databuku

Hasil:

  Nomor  Harga
1     1  80000
2     2 100000
3     3  70000
4     4  55000
5     5  50000

Code:

#Data Nomor Buku dan Judulnya
datacekharga <- data.frame(Nomor=seq(from = 1, to = 5, by = 1), Nama_Buku = c("Pengantar Data Mining dengan R",
                                                                              "Data Mining: Analisis Regresi dengan R",
                                                                              "Visualisasi Data dengan Tableau",
                                                                              "Pengantar Statistika Dasar",
                                                                              "Kompas Teknik: Pengambilan Sampel"))

Hasil:

  Nomor                              Nama_Buku
1     1         Pengantar Data Mining dengan R
2     2 Data Mining: Analisis Regresi dengan R
3     3        Visualisasi Data dengan Tableau
4     4             Pengantar Statistika Dasar
5     5      Kompas Teknik: Pengambilan Sampel

Code:

#VLOOKUP dengan inner_join
vlookup <- inner_join(databuku, datacekharga, by = "Nomor") #ID untuk VLOOKUP adalah Nomor Barang

Hasil:

  Nomor  Harga                              Nama_Buku
1     1  80000         Pengantar Data Mining dengan R
2     2 100000 Data Mining: Analisis Regresi dengan R
3     3  70000        Visualisasi Data dengan Tableau
4     4  55000             Pengantar Statistika Dasar
5     5  50000      Kompas Teknik: Pengambilan Sampel

Code:

#Membuat Fungsi hasil VLOOKUP
#Target fungsi menunjukkan nama buku beserta harganya ketika nomor ID buku diinput manual
#Nama fungsi input adalah Nomor(masukkan nomor ID buku yang dipesan)
Nomor <- function(i){
  vlookup$Nomor.x[i]
  print(paste("Harga Buku", vlookup[i,3],"adalah", vlookup[i,2]))
  }

#Kita coba masukkan input, misalkan kita pesan buku Nomor 1

Nomor(1)

Hasil:

[1] "Harga Buku Pengantar Data Mining dengan R adalah 80000"

Code:

Nomor(5)

Hasil:

[1] "Harga Buku Kompas Teknik: Pengambilan Sampel adalah 50000"

Oke, demikian sedikit ulasan bagaimana kita menerapkan fungsi VLOOKUP dengan R yang mirip fungsi VLOOKUP di excel. Jangan lupa untuk share, tanya-tanya di kolom komentar, dan menyimak unggahan berikutnya. Semoga bermanfaat.

Add Comments


EmoticonEmoticon