Получение текста из твитов
Я пытаюсь прочитать мои твиты из 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
2 ответа
Если вы хотите прочитать текст из CSV-файла, все, что вам нужно сделать, это: sia_txt <- sia$text
(текст - это имя столбца, в котором хранится ваш текст.)
x$getText
ты использовал в saaply
это method
доступно только для списков, которые являются результатом searchTwitter()
, Следовательно, вы не можете конвертировать DF обратно в список и использовать 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
,
x$getText() здесь на самом деле не имеет смысла. Поскольку вы используете sapply (), каждый элемент sia.list - это то, что передается в x, и у них нет подэлементов, к которым вы можете получить доступ, используя оператор $.
Что такое getText ()? Это не функция в базе r или в пакете twitteR. Если это функция из какого-то другого пакета, возможно, getText (x) - это то, что вам нужно, но трудно сказать, не зная больше, откуда он взялся.