2016-08-19 58 views
0

我正在將Twitter中的數據轉化爲R,並且我遇到了兩個絆腳石。在R中的數據刮擦Twitter數據

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

1)如何訪問語料庫中的字符串註釋?我嘗試打印(語料庫),但它沒有打印。相反,我收到這條消息。

print(corpus) 
A corpus with 30 text documents 

2)我想將全部文本小寫在文集中,但我沒有取得成功。

我嘗試了這些下面的命令

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) 

最後一個似乎停止在裏面這樣怪異的字符爲「I½í²™」的消息

+1

一個技巧是使用'名()',例如輸入'names(corpus)'並且看看你得到了什麼。 –

+0

我回來了「NULL」。我很難訪問語料庫中的數據。 – jessica

+1

我上面說得太快了。看起來,語料庫是一個在TermDocumentMatrix中使用的中介對象。看看這個博客:https://www.r-bloggers.com/r-text-mining-on-twitter-prayformh370-malaysia-airlines/ –

回答

1

要將其轉換爲較低:

corpus = tm_map(corpus, tolower) 

您可以通過將其轉換爲文檔術語表(DTM)來訪問語料庫中的文本:

dtm <- DocumentTermMatrix(corpus) 

編輯

Typcical文字,淨化功能:

你通常可以在R中,使用獲取有關變量的信息
corpus = tm_map(corpus, tolower); 
corpus = tm_map(corpus, removePunctuation); 
corpus = tm_map(corpus, removeNumbers); 
corpus <- tm_map(corpus, PlainTextDocument) 
+0

謝謝,但我不斷收到錯誤。文本中有像這樣的「íí½í²™」中的字符,它阻止了所有命令的運行。有沒有辦法刪除它們,以便命令可以工作? – jessica

+1

@jessica請檢查編輯並重新運行它。 – amrrs

+0

非常感謝!把這個作爲參考的其他人後面的技巧是使用corpus = tm_map(corpus,tolower);在所有其他命令之後。再次感謝! – jessica