关于 Plyr 错误的问题:as.double(y) 中的错误:无法强制类型“S4”;到“double”类型的向量
我正在升级我之前工作的一个项目。这段代码几个月前就有效了,同时我升级了 R 和 plyr。我想我以前使用的是 R1.10,现在使用的是 R1.35,我不确定之前运行的 plyr 版本是什么,但我当前安装的版本是 1.2。
这是我正在尝试运行的内容:
library(plyr)
library(twitteR)
tw <- head(ldply(searchTwitter("rstats", session=getCurlHandle(), n=10), function(x) data.frame(text=text(x), favorited=favorited(x), created=created(x), truncated=truncated(x), id=id(x), statusSource=statusSource(x), screenName=screenName(x))))
我现在总是收到相同的错误消息。
Error in as.double(y) :
cannot coerce type 'S4' to vector of type 'double'
任何建议将不胜感激。
谢谢,
杰森
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您对正在运行的版本感到困惑的过程中(没有 R 版本 1.35!!),存在几个问题。 (要了解您正在运行的 R 版本和软件包,请尝试
sessionInfo()
。)首先,您收到的错误来自于您对
text()
的使用。它应该是statusText()
。其次,似乎某些函数/方法没有在包 NAMESPACE 中导出。您可以通过在调用函数时指定正确的命名空间来使其工作,如下例所示,但您应该向包维护者发送电子邮件(Jeff Gentry - CRAN)。您可以使用
:::
运算符引用未导出的函数。:::
在左侧采用包/命名空间名称,在右侧采用函数名称,例如:这是示例的完整工作版本:
In amongst your confusion about what versions you are running (there wasn't an R version 1.35!!), there are several issues. (To find out what versions of R and packages you are running, try
sessionInfo()
.)First, the error you are getting comes from your use of
text()
. It should bestatusText()
.Second, it seems like some of the functions/methods are not being exported in the package NAMESPACE. You can make it work by specifying the correct namespace when calling the function, as per the example below, but you should email the package maintainer (Jeff Gentry - contact details on CRAN). You can refer to unexported functions using the
:::
operator.:::
takes the package/namespace name on the left-hand side, with the function name on the right hand side, e.g.:Here is a full working version of your example:
这适用于当前版本的 R (2.12.0) 和 twitteR 版本 0.91:
我遇到了与您相同的错误,直到我切换到“@”运算符来访问槽值。
This works in the current version of R (2.12.0) and version 0.91 of twitteR:
I was getting the same error as you were until I switched over to the "@" operator for accessing the slot values.