我正在阅读TwitteR包的documentation。对于searchTwitter
,它表示R返回A list of status objects
。 status-class
文档列出了几个字段和方法。
但如下所示,class(x)
会返回list
,为什么?它不应该返回一个状态对象?最后两个命令也不起作用,为什么?
文档说明
toDataFrame: Converts this into a one row data.frame, with each field
representing a column.
This can also be accomplished by the S4 style as.data.frame(objectName)
x=searchTwitter("Samsung")
> class(x)
[1] "list"
> abc=as.data.frame(x)
Error in as.data.frame.default(x[[i]], optional = TRUE) :
cannot coerce class "structure("status", package = "twitteR")" to a data.frame
> x$text
NULL
答案 0 :(得分:3)
如果x
是状态对象列表,则x
的类为list
。列表中每个元素的类都是status-class
。
您可以尝试以下方式:
class(x[[1]])
检查这是否正确。
类似地,toDataFrame
作用于类status-class
的对象 - 再次,列表的元素,而不是列表本身。你可以试试:
toDataFrame(x[[1]])
和
x[[1]]$text
如果你的目标是将列表中的每个元素都放到一个数据框中,那么你应该看到的函数是twListToDF
。