twitteR - 根据用户的位置构建用户图

问题描述 投票:0回答:1

我正在使用twitteR库。我的任务是制作一个图形,其中顶点是用户名,如果两个用户来自同一个位置,它们之间会有一条边。这是我用来收集用户的代码

search_result <- searchTwitter("#my_hashtag", 500)
tags <- twListToDF(search_result)
users <- tags$screenName
df <- twListToDF(lookupUsers(users))

我是R的新手,所以我认为这个任务非常简单,但我缺乏生成用户对的语法,这将代表图的边缘。

我们将不胜感激! :)

谢谢。

r twitter
1个回答
0
投票

经过一段时间的思考,我认为这是最简单的方法。我从最后一点开始按照你的例子。下一步是仅保留用户的姓名和位置。我们将使用'dplyr'创建必要的edgelist矩阵,将loops设置为FALSE以避免图中的循环,我也设置directed = FALSE,相反没有意义。完成后,任何可用的包都可用于创建图:

library(tidyverse)
library("statnet")
p <- df[,c("name", "location")]

inner_join(p,p, by="location") %>% 
  select(name.x, name.y) -> gr

n <- network(gr, matrix.type="edgelist", loops = F, directed = F)
gplot(n,usearrows = F)

除了我的用户之外,我只使用了几个用户来简化网络。两个连接,另一个不连接:

enter image description here

HTH!

© www.soinside.com 2019 - 2024. All rights reserved.