2016-04-09 3 views
2

J'ai le code ci-dessous pour créer des textes propres pour mon analyse de sentiment Twitter. Je veux ajouter une autre ligne pour supprimer certains mots que je ne veux pas inclure dans cette analyse comme "merde", "malade", etc. Quelqu'un pourrait-il s'il vous plaît des conseils comment le faire?R - Analyse de sentiment - Comment supprimer certains mots

tweets <- searchTwitter("iPhone", n=1500, lang="en") 
txt <- sapply(tweets, function(x) x$getText()) 
txt <- gsub("(RT|via)((?:\\b\\W*@\\w+)+)", "", txt) 
txt <- gsub("@\\w+", "", txt) 
txt <- gsub("[[:punct:]]", "", txt) 
txt <- gsub("[[:digit:]]", "", txt) 
txt <- gsub("http\\w+", "", txt) 
txt <- gsub("[ \t]{2,}", "", txt) 
txt <- gsub("^\\s+|\\s+$", "", txt) 
+0

Ryo .. Je suppose que vous pourriez avoir lu le blog: https://mkmanu.wordpress.com/2014/08/05/sentiment-analysis-on-twitter-data-text-analytics-tutorial/ –

+0

Vous pouvez vectoriser 'gsub'. Consultez [cette réponse sur 'Remplacer plusieurs arguments avec gsub'] (http://stackoverflow.com/a/15254254/3560695). Cela simplifie également votre code. – Therkel

Répondre

0

En utilisant le dernier paquet « tm » dans R, vous pouvez supprimer des mots ..

library(tm) 
myCorpOld <- Corpus(VectorSource(YourFirstDFonTweet$text) 

s'il vous plaît noter dans environ corpus prise, « YourFirstDFonTweet » est la trame de données que vous pourriez avoir créé à partir du téléchargement tweets. J'espère que cela vous donne une idée de la façon de résoudre votre problème.

+0

Existe-t-il un autre moyen de supprimer ces deux mots en utilisant 'gsub'? – Ryo

+0

en utilisant gsub, vous ne pouvez supprimer qu'un seul mot à la fois. par exemple, vous avez un tweet: data <- c ("Ceci est un exemple de tweet, voici mon email de merde: [email protected], tellement de choses de merde ici."), et vous voulez supprimer le mot "crap", en utilisant gsub .... gsub ("crap", "", data) ce que vous obtenez comme: "Ceci est un exemple de tweet Voici mon e-mail [email protected] de choses ici." –

+0

Merci beaucoup Manoj! – Ryo