【问题标题】:Mining Twitter using searchTwitter R Programing使用 searchTwitter R 编程挖掘 Twitter
【发布时间】:2014-07-01 05:28:19
【问题描述】:

我正在尝试循环使用 searchTwitter 按天搜索。如果我硬编码从始至终的日期,我不会收到错误,但是如果我尝试使用向量,我会遇到这个错误。谁能帮忙解释一下问题的原因是什么??

> time_period
[1] "2013-01-01" "2013-01-02" "2013-01-03" "2013-01-04" "2013-01-05"
> hashtag1.list <- searchTwitter(hashtag1, n=5, lang = NULL, retryOnRateLimit=100, since = time_period[i], until = time_period[i], cainfo="cacert.pem")
Error in strsplit(since, " ") : non-character argument

【问题讨论】:

  • 这应该是一个循环吗?您可能想尝试使用双括号 time_period[[i]]
  • 我仍然收到带有双括号的错误。 &gt; for (i in 1:num_days) { + hashtag1.list &lt;- searchTwitter(hashtag1, n=5, lang = NULL, retryOnRateLimit=100, since = time_period[[i]], until = time_period[[i]], cainfo="cacert.pem") #error on this line + hashtag1.df = twListToDF(hashtag1.list) + write.csv(hashtag1.df, file=file_path, row.names=FALSE) + + } Error in strsplit(since, " ") : non-character argument
  • time_period的元素是什么类型的?编辑:令人惊讶的是,它们应该是字符格式而不是日期格式。

标签: r twitter social-networking data-mining


【解决方案1】:

问题很可能是time_period 实际上不应该是日期格式。查看searchTwitter 的代码显示:

since_date = strsplit(since, " ")[[1]][1]

这是你的代码被赶上的地方。很容易看出time_period如果不是字符格式,就会报错。

> time_period <- c("2013-01-01", "2013-01-02", "2013-01-03", "2013-01-04")
> strsplit(time_period, " ")
[[1]]
[1] "2013-01-01"

[[2]]
[1] "2013-01-02"

...

> strsplit(as.Date(time_period), " ")
Error in strsplit(as.Date(time_period), " ") : non-character argument

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-07
    • 2010-10-21
    • 2016-06-26
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多