Ekstraksi Teks Spesifik dengan Regular Expression (REGEX) R Bagian III

 

Regular Expression (REGEX) dengan R

Selain penggunaan fungsi gsub(), untuk mendapatkan insight data teks dengan ekstrasi dapat pula menggunakan fungsi grep(). Era Data Science menuntut kita mempunyai skill mentransformasi data tidak terstruktur seperti teks, video, suara, dan gambar menjadi data yang terstruktur untuk kemudian diolah menjadi sebuah informasi bermanfaat bagi pengguna.

Perbedaan dari gsub() dan grep() cukup mudah kita bedakan. Fungsi gsub() lebih untuk mengekstraksi teks dengan cara menghapus teks yang tidak diinginkan. Sedangkan fungsi grep() digunakan untuk secara tepat mengekstraksi teks secara langsung. Sebagai contoh, bila kita ingin mengekstraksi teks "lato-lato", kalau menggunakan gsub() kita perlu hapus teks selain kata tersebut, sementara bila menggunakan grep, kita langsung menargetkan teks "lato-lato" untuk diambil dari dalam teks. Untuk lebih memahami, kita perlu praktikkan dengan beberapa kasus sebagai berikut:

#Membuat Data Teks
x <- c("Saya suka mengolah.", "(Big Data)", "baik: ","dengan Python versi \\3.", "maupun", "R versi @ 4.0.2")
x
## [1] "Saya suka mengolah."      "(Big Data)"               "baik: "                  
## [4] "dengan Python versi \\3." "maupun"                   "R versi @ 4.0.2"
#Mendapatkan teks yang diawali oleh huruf pertama d
grep("^d", x, value = T)
## [1] "dengan Python versi \\3."
#Mendapatkan teks yang diawali oleh tanda kurung dan huruf pertama B dan huruf pertama b
grep("^[(]B|^b", x, value = T)
## [1] "(Big Data)" "baik: "
#Mendapatkan teks yang diakhiri dengan tanda titik (.)
grep("[.]$", x, value = T)
## [1] "Saya suka mengolah."      "dengan Python versi \\3."
#Mendapatkan teks yang diakhiri dengan tanda titik dua (:) (spasi)
grep("[:] $", x, value = T)
## [1] "baik: "
#Mendapatkan teks yang mengandung tanda @
grep("@", x, value = T)
## [1] "R versi @ 4.0.2"
#Teks
y <- c("I am", "very", "well", "thank you", "It' OK")
y
## [1] "I am"      "very"      "well"      "thank you" "It' OK"
#Mendapatkan teks yang mengandung huruf a dimana pun letaknya
grep("?a", y, value = T)
## [1] "I am"      "thank you"
#Mendapatkan teks yang mengandung huruf e diikuti huruf l hingga r
grep("e[l-r]", y, value = T)
## [1] "very" "well"
#Mendapatkan teks yang mengandung huruf e diikuti tepat 1 huruf l
grep("el{1}", y, value = T)
## [1] "well"
#Mengubah y menjadi data frame dengan nama kolom (variable) text
y <- data.frame(text = y)
y
##        text
## 1      I am
## 2      very
## 3      well
## 4 thank you
## 5    It' OK
#Mendapatkan teks yang mengandung kata thank pada dataframe
y[grep("thank", y$text),]
## [1] "thank you"

Demikian sedikit sharing kita kali ini. Jangan lupa untuk terus menyimak setiap unggahan menarik berikutnya dalam blog ini. Terima kasih, selamat memahami dan mempraktikkan!


Add Comments


EmoticonEmoticon