Langsung ke konten utama

Natural Language Processing (NLP): Membersihkan Teks Tweets Rencana Kenaikan Tiket Borobudur dengan R

Natural Language Processing (NLP) dengan R

Halo teman-teman, bertemu kembali dengan blog sederhana ini. Kita kemarin telah membahas awalan penggunaan Python dalam mengolah data. Kali ini, kita coba break sejenak dari Python untuk kembali meneruskan belajar kita mengenai R. Ke depan, kita kemungkinan akan sering berselang-seling membahas R dan Python mengingat memang kedua bahasa pemrograman ini sedang naik daun saat ini.

Baik, di R kita akan melanjutkan pembahasan mengenai salah satu cabang dari Data Science, yaitu Natural Language Processing atau yang biasa disingkat NLP. Apa itu NLP? Jadi kalau menurut beberapa referensi yang saya baca, NLP merupakan produk dari Artificial Intelligence (AI) yang digunakan dalam proses interaksi antara manusia dengan mesin. Mesin yang dimaksud dalam pembahasan ini bisa berbentuk komputer, robot, atau bentuk lainnya. Istilah Natural Language atau bahasa alamiah yang dimaksud dalam NLP merupakan bahasa yang biasa digunakan oleh manusia sehari-hari. Ragam bahasa alamiah tersebut juga ditentukan oleh aspek budaya dan negara. Dalam aspek budaya, mungkin bahasa alamiah yang digunakan adalah bahasa Jawa, Madura, Batak, Hindi, atau bahasa sejarah, misalkan bahasa Sansekerta, bahasa Jawa Kuno (Hanacaraka), dan bahasa Arab Pegon (Arab Gundul). Dalam aspek negara, bahasa alamiah yang mungkin adalah bahasa nasional, misalkan bahasa Indonesia, bahasa Inggris, bahasa Jerman, bahasa Belanda, bahasa Perancis, bahasa Jepang, atau lainnya sesuai negara dimana kita bertempat tinggal.

Di dalam Data Science, apalagi di eranya Big Data saat ini, Natural Language Processing (NLP) banyak digunakan. Karena, data yang kita pahami selama ini tidak hanya sebatas angka-angka, namun juga termasuk teks, kalimat, suara, bahkan video. Produk Artificial Intelligence (AI) juga terus berkembang seiring dengan banyaknya manfaat dari NLP ini. Sebagai contoh sederhana saja, pernahkah kita temui sebuah mainan yang mampu merekam suara kita kemudian dia tirukan kembali suara kita itu sambil menari? Mungkin kita juga kerap iseng-iseng mencari informasi registrasi sebuah program melalui platform-nya dengan bertanya pada chatbot. Atau, mungkin sebagian besar dari kita kemarin-kemarin berinteraksi melalui Telegram atau Whatsapps (WA) dengan menggunakan fasilitas chatbot. Yang paling sering kita temui, mungkin ketika bermain game kita kerap bercakap-cakap dengan avatar-avatar selama bermain game atau yang disebut NPC. Itulah beberapa produk nyata hasil perkembangan dari NLP.

Dalam kesempatan kali ini, selain memahami beberapa package yang biasa digunakan dalam NLP, kita juga mencoba menerapkannya menggunakan R. Adapun data yang akan kita olah dengan NLP adalah mengenai respon masyarakat dunia maya terhadap rencana pemerintah menaikkan harga tiket masuk Candi Borobudur. Data ini saya peroleh dengan cara crawling Twitter dan dari sebanyak 10.150 Tweets bahasa Indonesia, saya ekstraksi beberapa tweets yang fokus cuitan terkait rencana kenaikan harga tiket masuk Candi Borobudur.

Tentunya, teks dari tweets tersebut masih tercampur antara huruf, angka, simbol-simbol, termasuk dengan karakter mention, tautan atau URL, serta emoji. Memang di dalam NLP, masing-masing komponen teks bisa kita analisis seluruhnya, namun, kali ini kita batasi dulu hanya khusus NLP teks.

Data yang kita gunakan dalam praktik NLP dengan R bisa teman-teman unduh terlebih dahulu pada tautan berikut. Setelah datanya diunduh, kita dapat melakukan tahapan NLP terhadap data teks dengan mengikuti beberapa code berikut:

Bahasan mengenai import data bisa teman-teman lihat di sini.

#Aktivasi package dplyr untuk olah teks
library(dplyr)
#Mengubah kalimat menjadi tipe karakter 
tweets <- tiketcandi$teks %>% as.character()
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...\r\n\r\nSampai sini, ngertikan...?\r\n\r\n<U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                              
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Menghapus karakter \n dalam kalimat
tweets <- gsub( "\n"," ",tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...\r \r Sampai sini, ngertikan...?\r \r <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                  
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Menghapus karakter \r dalam kalimat
tweets <- gsub( "\r"," ",tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://t.co/EMJrqgIqJx"                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya. Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur. Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan...    Sampai sini, ngertikan...?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                      
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://t.co/Sx8LXl1D8j"                                                                                                                                                                                                            
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                       
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://t.co/kDezi21tYf"
#Mengganti karakter titik dalam kalimat dengan blank
tweets <- gsub("[.]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : https://tco/EMJrqgIqJx"                                                                                                                                                                                                                
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini, ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan https://tco/Sx8LXl1D8j"                                                                                                                                                                                                           
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                     
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana https://tco/kDezi21tYf"
#Mengganti alamat html dan URL dengan blank
tweets <- tweets %>%
  replace_html() %>%
  replace_url()
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : "                                                                                                                                                                                                                                      
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya, nonton, terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng, jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini, ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                                 
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                     
## [6] "Seperti Borobudur, Tiket Komodo Rp 3,75 juta per Tahun Masih Wacana "
#Mengganti karakter koma dalam kalimat dengan blank
tweets <- gsub("[,]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb : "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube :)"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                        
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                              
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                  
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter : dalam kalimat dengan blank
tweets <- gsub("[:]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadah/candinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZ/landingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                       
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                             
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                                 
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter / dalam kalimat dengan blank
tweets <- gsub("/", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                                 
## [2] "@bergunarta Ada duit kan mas? Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show? Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan?    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                     
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                           
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                               
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti karakter ? dalam kalimat dengan blank
tweets <- gsub("[?]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi 750rb  "                                                                                                                                                                                                                               
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                    
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp 375 juta per Tahun Masih Wacana "
#Mengganti angka dalam kalimat dengan blank (bila perlu)
tweets <- gsub("[[:digit:]]", "", tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb  "                                                                                                                                                                                                                                  
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan    Sampai sini ngertikan    <U+0001F923><U+0001F923><U+0001F923><U+0001F923>"                                                                                                                                    
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp  juta per Tahun Masih Wacana "
#Mengganti emoji dalam kalimat
tweets <- replace_html(replace_emoji(tweets))
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb "                                                                                                                                                                                                                                   
## [2] "@bergunarta Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] "@kadrunmampos Inilah alasan mengapa tiket naik Candi Borobudur dinaikan Sampai sini ngertikan                 "                                                                                                                                                                          
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                                         
## [5] "@convomf yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                             
## [6] "Seperti Borobudur Tiket Komodo Rp juta per Tahun Masih Wacana "
#Mengganti Tag dalam kalimat
tweets <- replace_tag(tweets)
head(tweets)
## [1] "Alasan menko luhut menaikkan tiket borobudur jadi rb "                                                                                                                                                                                                                        
## [2] " Ada duit kan mas Beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya Kenapa lu ga protes waktu jogja air show Gue ikut skydive yg DZlandingnya di halaman sekitar prambanan sm borobudur Banyakin main mas ganteng jgn traveling via google sm youtube )"
## [3] " Inilah alasan mengapa tiket naik Candi Borobudur dinaikan Sampai sini ngertikan                 "                                                                                                                                                                            
## [4] "DPR Khawatir Kenaikan Tiket Borobudur Kurangi Jumlah Wisatawan "                                                                                                                                                                                                              
## [5] " yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                          
## [6] "Seperti Borobudur Tiket Komodo Rp juta per Tahun Masih Wacana "
#Merapikan kalimat dengan strip()
#Penggunaan fungsi strip() juga bisa menghapus angka, titik, koma, ), @, #, ?, \n \r \t dan lainnya
#Membuat teks menjadi lower atau huruf kecil semua
#Fungsi strip() tidak bisa menghapus mention, URL link atau emoji serta karakter "\"
tweets <- strip(tweets)
head(tweets)
## [1] "alasan menko luhut menaikkan tiket borobudur jadi rb"                                                                                                                                                                                                                      
## [2] "ada duit kan mas beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya kenapa lu ga protes waktu jogja air show gue ikut skydive yg dzlandingnya di halaman sekitar prambanan sm borobudur banyakin main mas ganteng jgn traveling via google sm youtube"
## [3] "inilah alasan mengapa tiket naik candi borobudur dinaikan sampai sini ngertikan"                                                                                                                                                                                           
## [4] "dpr khawatir kenaikan tiket borobudur kurangi jumlah wisatawan"                                                                                                                                                                                                            
## [5] "yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                        
## [6] "seperti borobudur tiket komodo rp juta per tahun masih wacana"
#Menghapus kalimat terduplikat
tweets_remodup <- tweets %>% 
  as.data.frame() %>% 
  distinct()
head(tweets_remodup$.)
## [1] "alasan menko luhut menaikkan tiket borobudur jadi rb"                                                                                                                                                                                                                      
## [2] "ada duit kan mas beli tiketnya nonton terus liat posisi stage sama tempat ibadahcandinya kenapa lu ga protes waktu jogja air show gue ikut skydive yg dzlandingnya di halaman sekitar prambanan sm borobudur banyakin main mas ganteng jgn traveling via google sm youtube"
## [3] "inilah alasan mengapa tiket naik candi borobudur dinaikan sampai sini ngertikan"                                                                                                                                                                                           
## [4] "dpr khawatir kenaikan tiket borobudur kurangi jumlah wisatawan"                                                                                                                                                                                                            
## [5] "yg gegara tiket candi borobudur naik mau bangun candi sendiri dinamain candi crush"                                                                                                                                                                                        
## [6] "seperti borobudur tiket komodo rp juta per tahun masih wacana"
#Jumlah Baris sebelum membuang kalimat terduplikat
length(tweets)
## [1] 53
#Jumlah Baris setelah membuang kalimat terduplikat
nrow(tweets_remodup)
## [1] 38

Demikian sedikit berbagi kita mengenai bagaimana cara melakukan Natural Language Processing dengan R. Terus simak unggahan terbaru blog ini, selamat memahami dan mempraktikkan!

Komentar

Postingan populer dari blog ini

Mencari P - Value dan Titik Kritis Uji F, Uji t, Uji Chi Square, dan Uji Z Normal dengan R

Mencari nilai p-value dan titik kritis Bagi teman-teman yang pernah mengenal statistika, pasti familier dengan istilah p-value dan titik kritis. P-value biasanya didefinisikan sebagai probabiltas atau peluang maksimal yang diamati dari hasil uji statistik, bahasa gampangnya adalah besarnya kesalahan penelitian berdasarkan uji statistik. Sebagai contoh sederhana, dari 100 orang dengan nama masing-masing dan diklasifikasikan ke dalam gender nama perempuan dan nama laki-laki, didapatkan nilai p-value uji statistiknya sebesar 0,05 atau 5%. Itu artinya, dari 100 orang, ada kemungkinan sebanyak 5 orang yang namanya salah klasifikasi. Dari namanya terdeteksi sebagai nama perempuan, padahal aktualnya yang bersangkutan bergender laki-laki. Sedangkan titik kritis atau titik uji adalah nilai batas pengujian hipotesis statistik, apakah masuk dalam wilayah tolak hipotesis, ataukah gagal menolaknya. Titik ini berkaitan erat dengan nilai p-value . Kalau biasanya kita mendapatkan kedua nilai ini da...

Cara Mendowload dan Install R serta RStudio di Windows (Step by Step)

Cara Download dan Install R serta R Studio di Windows Halo teman-teman, mohon maaf karena beberapa waktu ini, blog ini sempat vakum dari unggahan. Kali ini saya akan coba berbagai mengenai bagaimana cara mengunduh ( download ) dan menginstal ( install ) program R sekaligus R Studio khususnya di Windows. Unggahan kali ini sedikit terbalik karena semestinya saya unggah terlebih dahulu pertama kali di blog ini, namun bukan masalah, mengingat kemarin ada beberapa pihak yang meminta untuk menerangkap bagaimana tahapan mengunduh dan instalasi R dan R Studio, jadinya saya dahulukan pada unggahan ini sebelum pembahasan mengenai Data Mining , Data Science , atau bahasan Big Data kita terlampau jauh. Baik, kita akan mulai dengan bagaimana mengunduh R dan R Studio melalui mesin pencari Google. R dan R Studio ini memang beberapa waktu terakhir ini booming , apalagi dengan munculnya konsep mengenai Big Data , Data Modelling, Data Mining, dan Data Science serta Data Visualization . Sebenarnya, men...

Analisis Tipologi Klassen (Klassen Typology) dan Visualisasi Spasialnya dengan R

Tipologi Klassen dan visualisasinya dengan R Halo teman-teman, sebelumnya kita telah membahas tentang analisis Shift Share dan Location Quotient (LQ) dengan menggunakan R. Kali ini, kita akan membahas mengenai satu lagi alat analisis yang sebenarnya merupakan alat analisis tiga serangkai dari SS dan LQ, yaitu analisis Tipologi Klassen. Dalam penelitian ekonomi kewilayahan, ketiga analisis ini seringkali digunakan, baik dalam rangka melihat perkembangan dan transformasi struktur ekonomi suatu wilayah maupun melihat keunggulan kompetitif dan keunggulan komparatif wilayah satu dengan wilayah lainnya dengan mengacu wilayah referensi. Terlebih dulu, sebelum melakukan visualisasi spasial menggunakan fungsi plot(), ada baiknya kita bahas terlebih dahulu mengenai Tipologi Klassen itu sendiri. Tipologi Klassen merupakan teknik pengelompokan sektor, subsektor, lapangan usaha, atau komoditas tertentu di wilayah analisis berdasarkan pertumbuhan nilai tambah wilayah analisis terhadap nasional atau...