2016-08-19 3 views
0

Ich ziehe Daten von Twitter in R und ich stoße zwei Stolpersteine.Data Scraping Twitter Daten in R

twit=searchTwitter("justin timerlake",n=30,lang = "en") 
twit_text=sapply(twit, function(x) x$getText()) 
corpus=Corpus(VectorSource(twit_text)) 

1) Wie greife ich auf die String-Kommentare im Korpus? Ich habe versucht, Druck (Corpus), aber es druckt nicht. Stattdessen bekomme ich diese Nachricht.

2) Ich versuche, den ganzen Text im Korpus Kleinbuchstaben, aber ich habe wenig Erfolg.

Ich habe versucht, diese folgenden Befehle

tm_map(corpus, content_transformer(tolower)) 
Error in match.fun(FUN) : could not find function "content_transformer" 

tm_map(corpus,Content(tolower)) 
Error in UseMethod("Content", x) : 
    no applicable method for 'Content' applied to an object of class "function" 

tolower(twit_text) 

der letzte auf Nachrichten mit seltsamen Zeichen in wie „í ½í² ™“

+1

Ein Trick, den Sie in der Regel in R können Informationen über eine Variable zu erhalten, ist 'Namen zu verwenden()', z.B. tippe 'namen (corpus)' und sieh, was du bekommst. –

+0

Ich bekomme "NULL" zurück. Es fällt mir schwer, auf die Daten im Korpus zuzugreifen. – jessica

+1

Ich sprach zu früh oben. Es scheint, dass das Korpus ein intermediäres Objekt ist, das in einer 'TermDocumentMatrix' verwendet wird. Schauen Sie sich dieses Blog an: https://www.r-bloggers.com/r-text-mining-on-twitter-prayformh370-malaysia-airlines/ –

Antwort

1

zu wandeln es in niedriger still zu stehen scheint:

corpus = tm_map(corpus, tolower) 

Sie können auf den Text im Korpus zugreifen, indem Sie ihn in Document Term Matrix (DTM) konvertieren:

dtm <- DocumentTermMatrix(corpus) 

bearbeiten

Typcical Text Reinigungsfunktionen:

corpus = tm_map(corpus, tolower); 
corpus = tm_map(corpus, removePunctuation); 
corpus = tm_map(corpus, removeNumbers); 
corpus <- tm_map(corpus, PlainTextDocument) 
+0

danke aber ich bekomme immer einen Fehler. Es gibt Zeichen im Text wie dieser "í ½í² ™" im Korpus, der verhindert, dass alle Befehle funktionieren. Gibt es eine Möglichkeit, sie zu entfernen, damit die Befehle funktionieren? – jessica

+1

@jessica Bitte überprüfen Sie die Bearbeitung und führen Sie sie erneut aus. – amrrs

+0

Vielen Dank! Der Trick für jeden, der dies später als Referenz verwendet, ist die Verwendung des Corpus = tm_map (corpus, tolower); nach all den anderen Befehlen oben. Danke noch einmal! – jessica