R语言推特twitter转发可视化分析

原创 2018年04月16日 16:06:25

包含术语“生物信息学”的推文示例

第1步: 加载所需的软件包

# load packages

library(twitteR)

library(igraph)

library(stringr)

第2步: 收集关于“生物信息学”的推文

# tweets in english containing "bioinformatics"

dm_tweets = searchTwitter("bioinformatics", n=500, lang="en") 

# get text

dm_txt = sapply(dm_tweets, function(x) x$getText())

第3步:识别转发

# regular expressions to find retweets

grep("(RT|via)((?:\\b\\W*@\\w+)+)", dm_tweets, 

ignore.case=TRUE, value=TRUE)

# which tweets are retweets

rt_patterns = grep("(RT|via)((?:\\b\\W*@\\w+)+)", 

dm_txt, ignore.case=TRUE)

# show retweets (these are the ones we want to focus on)

dm_txt[rt_patterns] 

第4步:收集谁转发和谁发布

我们将使用这些结果来形成边缘列表以创建图形

# create list to store user names

who_retweet = as.list(1:length(rt_patterns))

who_post = as.list(1:length(rt_patterns))

# for loop

for (i in 1:length(rt_patterns))

   # get tweet with retweet entity

   twit = dm_tweets[[rt_patterns[i]]]

   # get retweet source 

   poster = str_extract_all(twit$getText(),

      "(RT|via)((?:\\b\\W*@\\w+)+)") 

   #remove ':'

   poster = gsub(":", "", unlist(poster)) 

   # name of retweeted user

   who_post[[i]] = gsub("(RT @|via @)", "", poster, ignore.case=TRUE) 

   # name of retweeting user 

   who_retweet[[i]] = rep(twit$getScreenName(), length(poster)) 

}

# unlist

who_post = unlist(who_post)

who_retweet = unlist(who_retweet)

第5步: 从编辑清单创建图形

# two column matrix of edges

retweeter_poster = cbind(who_retweet, who_post)

# generate graph

rt_graph = graph.edgelist(retweeter_poster)

# get vertex names

ver_labs = get.vertex.attribute(rt_graph, "name", index=V(rt_graph))

第6步: 让我们绘制图

# choose some layout

glay = layout.fruchterman.reingold(rt_graph)

# plot

par(bg="gray15", mar=c(1,1,1,1))

plot(rt_graph, layout=glay,

   vertex.color="gray25",

   vertex.size=10,

   vertex.label=ver_labs,

   vertex.label.family="sans",

   vertex.shape="none",

   vertex.label.color=hsv(h=0, s=0, v=.95, alpha=0.5),

   vertex.label.cex=0.85,

   edge.arrow.size=0.8,

   edge.arrow.width=0.5,

   edge.width=3,

   edge.color=hsv(h=.95, s=1, v=.7, alpha=0.5))

# add title

title("\nTweets with 'bioinformatics':  Who retweets whom",

   cex.main=1, col.main="gray95") 


第7步:让我们试着给它一个更生物信息学的外观

# another plot

par(bg="gray15", mar=c(1,1,1,1))

plot(rt_graph, layout=glay,

   vertex.color=hsv(h=.35, s=1, v=.7, alpha=0.1),

   vertex.frame.color=hsv(h=.35, s=1, v=.7, alpha=0.1),

   vertex.size=5,

   vertex.label=ver_labs,

   vertex.label.family="mono",

   vertex.label.color=hsv(h=0, s=0, v=.95, alpha=0.5),

   vertex.label.cex=0.85,

   edge.arrow.size=0.8,

   edge.arrow.width=0.5,

   edge.width=3,

   edge.color=hsv(h=.35, s=1, v=.7, alpha=0.4))

# add title

title("\nTweets with 'bioinformatics':  Who retweets whom",

   cex.main=1, col.main="gray95", family="mono")


大数据部落 -中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和
统计分析和数据挖掘咨询服务:y0.cn/teradat(咨询服务请联系官网客服
点击这里给我发消息QQ: 3025393450

【服务场景】        
 
             
科研项目;
        
             
公司项目外包;线上线下一对一培训;学术研究。
【大数据部落】提供定制化的一站式数据挖掘和统计分析咨询服务
 
分享最新的大数据资讯,每天学习一点数据分析,让我们一起做有态度的数据人【大数据部落】大数据部落提供定制化的一站式数据挖掘和统计分析咨询服务
微信客服号:lico_9e
QQ交流群:186388004  
欢迎关注微信公众号,了解更多数据干货资讯!

 

版权声明:本文为博主原创文章,未经博主允许不得转载。咨询链接:http://y0.cn/teradat https://blog.csdn.net/qq_19600291/article/details/79961928

R语言与数据分析【第一季】

当今计算机系统要处理的数据类型变得多种多样,并且为了深入理解,需要对数据进行过滤;同时,开源应用变得越来广受欢迎,这一切都在改变着 R 这一用于统计分析与可视化的语言。随着时代的发展,R语言也在不断的衍变,并成为了当前很多大数据应用当中的一个环节。 大数据时代,R 语言已蓄势待发,各位学员,let's go!
  • 2015年04月18日 14:06

【大数据部落】用R挖掘Twitter数据

Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。本文是关于如何使用Twitter R包获取twitter数据并将其导入...
  • qq_19600291
  • qq_19600291
  • 2017-06-24 19:28:08
  • 346

【大数据部落】文本挖掘:twitter推特LDA主题情感分析

原文:https://mp.weixin.qq.com/s/Sqzihz6Awvce8UfjhVcOqg Is known as the "saishang Jiangnan," said th...
  • qq_19600291
  • qq_19600291
  • 2017-08-10 22:43:13
  • 1286

【大数据部落】用R语言挖掘Twitter数据

Twitter是一个流行的社交网络,这里有大量的数据等着我们分析。Twitter R包是对twitter数据进行文本挖掘的好工具。 本文是关于如何使用Twitter R包获取twitter数据...
  • qq_19600291
  • qq_19600291
  • 2017-06-24 12:38:04
  • 510

Twitter情感分析及其可视化

向AI转型的程序员都关注了这个号???大数据挖掘DT数据分析  公众号: datadw本文 github 地址在公众号 datadw 里 回复 推特 即可获取。主要是基于twitter的内容有:实时热...
  • meyh0x5vDTk48P2
  • meyh0x5vDTk48P2
  • 2018-03-21 00:00:00
  • 214

Python 分析Twitter用户喜爱的推文

Python 分析Twitter用户喜爱的推文
  • guaguastd
  • guaguastd
  • 2014-08-05 06:56:11
  • 1131

利用推特工具进行分词

需要导入的包:ark-tweet-nlp-0.3.2.jar(进行推特文本处理的工具) package com.regex; import java.io.BufferedReader; impo...
  • u014221266
  • u014221266
  • 2015-06-12 12:00:29
  • 752

twitter API获取和使用(python tweepy库)

解决国内获取Twitter数据被墙的问题,以及tweepy库的使用
  • p_function
  • p_function
  • 2017-08-24 16:21:10
  • 2406

API爬虫--Twitter实战

本篇将从实际例子出发,展示如何使用api爬取twitter的数据。1. 创建APP进入https://apps.twitter.com/,创建自己的app。只有有了app才可以访问twitter的ap...
  • rubinorth
  • rubinorth
  • 2016-09-10 14:26:02
  • 1227

IFTTT实现新浪微博完美同步Twitter

如果你看到这篇文章,那么对IFTTT就应该不会陌生。IFTTT于2011年5月在美国上线,是“if this then that”的缩写,具体到本文要实现的,this就是你在新浪微博发了一条消息,th...
  • xhhjin
  • xhhjin
  • 2016-03-22 13:51:51
  • 2787
收藏助手
不良信息举报
您举报文章:R语言推特twitter转发可视化分析
举报原因:
原因补充:

(最多只允许输入30个字)