我想从csv文件中读取我的推文(我之前已经下载过),我遇到了一些问题:
sia.list <- searchTwitter('#singaporeair', n=10, since=NULL, until=NULL, cainfo="cacert.pem")
sia.df = twListToDF(sia.list)
write.csv(sia.df, file='C:/temp/siaTweets.csv', row.names=F)
我正在尝试从列表中提取文本,问题在于下面的第三行:
sia.df <- read.csv(file=paste(path,"siaTweets.csv",sep=""))
sia.list <- as.list(t(sia.df))
sia_txt = sapply(sia.list, function(x) x$getText())
控制台输出:
> sia.list <- as.list(t(sia.df))
> sia_txt = sapply(sia.list, function(x) x$getText())
Error in x$getText : $ operator is invalid for atomic vectors
答案 0 :(得分:1)
如果要阅读csv文件中的文本,您只需:sia_txt <- sia$text
(文本是存储文本的列的名称。)
x$getText
中使用的saaply
method
仅适用于由searchTwitter()
生成的列表。因此,您无法将DF转换回List并使用getText
。对于例如做:
xyz <- searchTwitter("#xyz", n = 100)
str(xyz)
您将看到适用的方法列表。类似的东西:
$ :Reference class 'status' [package "twitteR"] with 17 fields
..$ text : chr "RT @BET: \"Who's left to love the black woman?\" ~ WATCH last night's #BeingMaryJane here:\nhttp://t.co/xiUho1FVQi http://t.co/"| __truncated__
..$ favorited : logi FALSE
..$ favoriteCount: num 0
..$ replyToSN : chr(0)
..$ created : POSIXct[1:1], format: "2015-03-11 13:28:01"
..$ truncated : logi FALSE
..$ replyToSID : chr(0)
..$ id : chr "575649378062434304"
..$ replyToUID : chr(0)
..$ statusSource : chr "<a href=\"http://twitter.com\" rel=\"nofollow\">Twitter Web Client</a>"
..$ screenName : chr "kookie_kay"
..$ retweetCount : num 20
..$ isRetweet : logi TRUE
and 51 methods, of which 39 are possibly relevant:
.. getCreated, getFavoriteCount, getFavorited, getId, getIsRetweet, getLatitude, getLongitude, getReplyToSID,
.. getReplyToSN, getReplyToUID, getRetweetCount, getRetweeted, getRetweeters, getRetweets, getScreenName,
.. getStatusSource, **getText**, getTruncated, getUrls, initialize
注意getText
。
答案 1 :(得分:0)
x $ getText()在这里没有意义。因为您正在使用 sapply(),所以 sia.list 的每个元素都会被传递给x,而这些元素没有您可以使用$访问的子元素操作
什么是 getText()?它不是base r或twitteR包中的函数。如果它是来自其他软件包的函数,可能 getText(x)就是你想要的,但是如果不了解它的来源,很难说。