在R中的数据刮擦Twitter数据

问题描述:

我正在将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/ –

要将其转换为较低:

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