Удалить один символ в R - PullRequest
       13

Удалить один символ в R

0 голосов
/ 04 декабря 2018

Я работаю над анализом настроений на арабском языке, используя R, и на этапе очистки мне нужно удалить один символ.Я использовал этот код, чтобы удалить их, и он работает, но у него была некоторая проблема

, например, вот данные

R<-("للمدافعين قال شركة وطنية قلت أقنعهم يعاملوننا كمواطنينقال جودتها عالية قلت جيدة غيرها غ")

, как вы видите здесь "غ" - это один символ

gsub(" *\\b[[:alpha:]]{1}\\b *", "", R)
[1] "للمدافعين قال شركة وطنية قلت أقنعهم يعاملوننا كمواطنينقال جودتها عالية قلت جيدة غيرها\n"

но когда я попытался применить его ко всему набору данных в текстовом столбце, как здесь

subdata1$text = gsub("*\\b[[:alpha:]]{1}\\b *", "", subdata1$text)

, это ничего не удаляет, и я не знаю почему?

надеюсь, вы понимаете меня

спасибо

1 Ответ

0 голосов
/ 04 декабря 2018

Кажется, класс символов [:alpha:] POSIX не работает со всеми буквами Юникода в вашем случае.

Я предлагаю использовать шаблон PCRE:

gsub("(*UCP)\\b\\p{L}\\b", "", R, perl=TRUE)

Здесь (*UCP)требуется, чтобы \b знаковая граница Юникода знала, а \p{L} соответствует любой букве Юникода из плоскости BMP.Аргумент perl=TRUE необходим для обработки шаблона с помощью механизма регулярных выражений PCRE.

...