2

我正在使用“TwitteR”包和 R 程序来检索推文信息。尽管 Twitter API 提供

retweet_count’ function(https://dev.twitter.com/docs/faq#6899)

我不知道如何在 R 中使用它。(也许getURL在 'RCurl' 包中使用''函数?)

基本上,我正在寻找方法

  1. 特定推文被转发的次数

  2. 在 R 中使用 Streaming API 获取实时信息,例如

    一个。新的追随者加入这些用户,并且

    湾。当他们发布推文或转推时,以及

    C。当他们发布的推文被其他人转发时

如果有人能帮助我找到线索以获取任何这些信息,我将不胜感激。

4

1 回答 1

3

我无法解决流式 API 问题,但是根据这个有用的教程,如何处理转推。您可能可以使用它来专注于特定的推文,而不是每个用户的转发数量。这里的一些帖子可能更有用。

# get package with functions for interacting with Twitter.com
require(twitteR) 
# get 1500 tweets with #BBC tag, note that 1500 is the max, and it's subject to mysterious filtering and other restrictions by Twitter
s <- searchTwitter('#BBC', n=1500) 
#
# convert to data frame
df <- do.call("rbind", lapply(s, as.data.frame))
#
# Clean text of tweets 
df$text <- sapply(df$text,function(row) iconv(row,to='UTF-8')) #remove odd characters
trim <- function (x) sub('@','',x) # remove @ symbol from user names 
#
# Extract retweets
library(stringr)
df$to <- sapply(df$to,function(name) trim(name)) # pull out who msg is to
df$rt <- sapply(df$text,function(tweet) trim(str_match(tweet,"^RT (@[[:alnum:]_]*)")[2]))      
#
# basic analysis and visualisation of RT'd messages
sum(!is.na(df$rt))                # see how many tweets are retweets
sum(!is.na(df$rt))/length(df$rt)  # the ratio of retweets to tweets
countRT <- table(df$rt)
countRT <- sort(countRT)
countRT.subset <- subset(countRT,countRT >2) # subset those RTd at least twice
barplot(countRT.subset,las=2,cex.names = 0.75) # plot them
#
#  basic social network analysis using RT 
# (not requested  by OP, but may be of interest...)
rt <- data.frame(user=df$screenName, rt=df$rt) # tweeter-retweeted pairs
rt.u <- na.omit(unique(rt)) # omit pairs with NA, get only unique pairs
#
# begin sna
library(igraph)
g <- graph.data.frame(rt.u, directed = T)
ecount(g) # edges (connections)
vcount(g) # vertices (nodes)
diameter(g) # network diameter
farthest.nodes(g) # show the farthest nodes
于 2012-05-03T08:01:56.573 回答