从searchTwitter输出中删除重复项工作正常,问题是searchTwitter()函数提供的原始推文数量总是100,无论n = 1000还是n = 3000。
这是我用过的代码:
tweets <- searchTwitter("#rstats", n = 1000)
tweets.df <- do.call("rbind", lapply(tweets, as.data.frame))
df.undup <- tweets.df[duplicated(tweets.df) == FALSE,]
dim(df.undup)
结果数据框总是有100行,这意味着原始推文的数量为100。
dim(df.undup)
tweets [1] 100 12
我的问题是:这是否与twitter API有关,我怎么能解决这个问题。
我在Mac OS X 10.7.5上使用R版本2.15.3。
答案 0 :(得分:2)
不幸的是,目前可用的twitteR
包版本无法正常运行。您可以从Geoff Jentry的网页上获取最新版本,这些版本似乎比CRAN上提供的版本更好。
http://geoffjentry.hexdump.org/twitteR_1.1.5.tar.gz
它需要ROAuth 0.9.4(还没有在CRAN上更新)
http://geoffjentry.hexdump.org/ROAuth_0.9.4.tar.gz
我有一种感觉,除非您可以编译软件包(即除非您不需要二进制软件包),否则可能无法在MacOSX上运行它。
我仍在使用这些新版本,但没有那么多。
答案 1 :(得分:0)
我已成功安装了这些软件包。这是我用过的代码,万一有人感兴趣。但问题仍然存在,原始推文仍然只有100个。
我想知道为什么我们会在重复方面得到不同的结果。
install.packages("~/Downloads/ROAuth_0.9.4.tar.gz",
repos=NULL,type="source",
INSTALL_opts="--no-multiarch")
install.packages("~/Downloads/twitteR_1.1.5.tar.gz",
repos=NULL,type="source",
INSTALL_opts="--no-multiarch")
library(twitteR)
library(ROAuth)
tweets <- searchTwitter("#rstats", n = 1000)
tweets.df <- do.call("rbind", lapply(tweets, as.data.frame))
df.undup <- tweets.df[duplicated(tweets.df) == FALSE,]
dim(df.undup)
dim(df.undup)
[1] 100 12