1

从 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。

4

2 回答 2

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 上运行。

我仍然被这些新版本欺骗,但没有那么多。

于 2013-04-03T02:02:55.183 回答
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
于 2013-04-03T23:57:35.337 回答