2016-03-03 4 views
0

У меня есть твиты и некоторые из них имеют @mentions, которые я хочу удалить, я использую функцию tm_maptm package, но не получаю желаемого результата. Вот пример:Удаление @mentions с помощью пакета 'tm' R

tweetscorrected[[1]]$content 
>@abc thank you for the treat 
tweetmentionsremoved<- tm_map(tweetscorrected, removeWords, "@\\w+") 
tweetmentionsremoved[[1]]$content 
>@abc thank you for the treat 
tweetmentionsremoved<- tm_map(tweetscorrected, removeWords, "y\\w+") 
>@abc thank for the treat 
tweetmentionsremoved<- tm_map(tweetscorrected, removeWords, "a\\w+") 
>@ thank you for the treat 

Поэтому то, что я вижу какой-либо «алфавит» становится правильно удален, но «@» условие не делает никаких изменений на всех. Но я хочу удалить @abc, @xyz в основном любое слово, которое начинается с @.

Любая помощь очень ценится.

+0

Он не похож на [ 'tm'] (Http: //www.inside-r. org/packages/cran/tm/docs/tm_map) поддерживает регулярное выражение в качестве третьего аргумента. Каков конечный результат, который вам нужно получить? Почему бы не использовать 'gsub' для удаления всех' \\ B @ \\ w + '? Пожалуйста, добавьте воспроизводимый код в тело вопроса. –

+0

Если я использую 'gsub' на Corpus, хотя он работает, но он испортил структуру немного –

+0

Если я использую' gsub' на Corpus, хотя он работает, но он испортил структуру, немного похожую на список '' (контент = \ "спасибо за лечение. https: //./nkzy606vcC#clv #analytics https: //./fsbwd03m8x \", meta = list (author = character (0), datetimestamp = list (sec = 51.526330947876, min = 8, час = 9, mday = 3, mon = 2, year = 116, wday = 4, yday = 62, isdst = 0), description = character (0), heading = character (0), id = \ " 12 \ ", язык = \" en \ ", origin = character (0)))' 'Данные вытягиваются с помощью' twitteR' и читаются в Corpus –

ответ