前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言复杂网络分析各大电视台合播电视剧数量可视化

R语言复杂网络分析各大电视台合播电视剧数量可视化

原创
作者头像
拓端
发布2022-12-19 17:07:44
3580
发布2022-12-19 17:07:44
举报
文章被收录于专栏:拓端tecdat

全文链接:http://tecdat.cn/?p=30961

原文出处:拓端数据部落公众号

我们围绕网络可视化分析技术进行一些咨询,帮助客户解决独特的业务问题。

为了分析电视台时间关系形态变化,我们获取了电视台合播电视剧数量数据:

1、黄色的方格内,数字大小表示为节点面积,即该电视台独播电视剧数量

2、白色的方格内,数字大小表示为连接强弱,可以为具体若干条连线、或连线的透明度、或连线的粗细,即这两个电视台合播电视剧数量

3、整体呈现,可以看到两年同样电视台的关系形态变化,输出一些网络分析的指标

2020年数据

读取文件

代码语言:javascript
复制
library(igraph);
 
 
network= as.matrix(data)[,-1] 
network=apply(network,1,as.numeric)

给点的名称赋值

代码语言:javascript
复制
enames=colnames(data)[-1]
 events =network

将对角线的元素赋值为0

代码语言:javascript
复制
 diag(events)=0

生成网络图格式

代码语言:javascript
复制
for(i in 1:n) {
    for(j in i:n) {
      s = paste(c(as.character(i), as.character(j),
                  as.character(monopartite[i,j]), "\r"), collapse=" ")
      write(s, file=f, append=TRUE, sep="")
    }
  }

读取网络图格式文件

代码语言:javascript
复制
e=read.graph("events.net",

对边进行删减,减去连接很小的边

代码语言:javascript
复制
  if(is.null(E(graph)$weight)) stop("No weights for censoring the edges!")
  es = E(graph)[E(graph)$weight<floor | E(graph)$weight>ceiling]
  
  newgraph = graph - es
 
  newgraph = newgraph

给每个边的宽度进行赋值,用粗细表示

代码语言:javascript
复制
plot(newe, vertex.size=diag(network), vertex.shape="square", vert

对图进行删减,删去连接少的边

代码语言:javascript
复制
newe = censor.edgeweight(e, floor=2); newe
代码语言:javascript
复制
## IGRAPH UNW- 25 91 -- 

给每个边的宽度进行赋值,用粗细表示

代码语言:javascript
复制
E(newe)$width =   E(newe)$weight

2021年数据

代码语言:javascript
复制
head(data)
代码语言:javascript
复制
##             X1 湖南卫视 浙江卫视 江苏卫视 北京卫视 上海东方卫视 山东卫视
## 1     湖南卫视       24        1        0        0            0        0
## 2     浙江卫视        1        5        3        1            3        1
## 3     江苏卫视        0        3        7        1            2        1
## 4     北京卫视        0        1        1        4            5        1
## 5 上海东方卫视        0        3        2        5            5        3
## 6     山东卫视        0        1        1        1            3        3
##   安徽卫视 天津卫视 江西卫视 湖北卫视 深圳卫视 云南卫视 黑龙江卫视
## 1        0        0        0        0        0        0          0
## 2        2        1        0        0        2        0          0
## 3        1        2        0        1        0        0          0
## 4        1        0        0        0        1        0          0
## 5        3        3        0        0        0        1          0
## 6        2        3        3        2        0        2          2
##   广东卫视 重庆卫视 贵州卫视 四川卫视 辽宁卫视 河北卫视 河南卫视 东南卫视
## 1        0        0        0        0        0        0        0        1
## 2        0        0        2        0        0        0        0        0
## 3        0        1        0        0        0        1        0        0
## 4        1        0        0        1        0        1        1        0
## 5        0        1        0        0        0        0        0        0
## 6        0        0        1        0        3        1        1        0
##   吉林卫视 广西卫视 央视一套 央视八套
## 1        0        0        0        0
## 2        0        0        0        0
## 3        0        0        1        0
## 4        0        0        0        0
## 5        0        0        0        0
## 6        0        0        0        0

给点的名称赋值

代码语言:javascript
复制
enames=colnames(data)[-1]

将对角线的元素赋值为0

代码语言:javascript
复制
 diag(events)=0

生成网络图格式

代码语言:javascript
复制
  s = paste(c("*vertices ", as.character(n), "\r\n*edges\r"), collapse="")
  write(s, file=f, sep="")
  for(i in 1:n) {
    for(j in i:n) {
      s = paste(c(as.character(i), as.character(j),

读取网络图格式文件

代码语言:javascript
复制
 e=read.graph("events.net", format="pajek")

对边进行删减,减去连接很小的边

代码语言:javascript
复制
  if(is.null(E(graph)$weight)) stop("No weights for censoring the edges!")
  es = E(graph)[E(graph)$weight<floor | E(graph)$weight>ceiling]

给每个边的宽度进行赋值,用粗细表示

代码语言:javascript
复制
plot(newe, vertex.size=diag(network), vertex.shape="square", 

对图进行删减,删去连接少的边

代码语言:javascript
复制
newe = censor.edgeweight(e, floor=2); newe
代码语言:javascript
复制
## IGRAPH UNW- 25 27 -- 
## + attr: name (v/c), weight (e/n)

给每个边的宽度进行赋值,用粗细表示

代码语言:javascript
复制
E(newe)$width =   E(newe)$weight
 vertex.label.degree=pi/2, layout=layout.circle)

最受欢迎的见解

1.R语言动态图可视化:如何、创建具有精美动画的图

2.R语言生存分析可视化分析

3.Python数据可视化-seaborn Iris鸢尾花数据

4.r语言对布丰投针(蒲丰投针)实验进行模拟和动态

5.R语言生存分析数据分析可视化案例

6.r语言数据可视化分析案例:探索brfss数据数据分析

7.R语言动态可视化:制作历史全球平均温度的累积动态折线图动画gif视频图

8.R语言高维数据的主成分pca、 t-SNE算法降维与可视化分析案例报告

9.python主题LDA建模和t-SNE可视化

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 全文链接:http://tecdat.cn/?p=30961
  • 原文出处:拓端数据部落公众号
  • 2020年数据
  • 读取文件
  • 给点的名称赋值
  • 将对角线的元素赋值为0
  • 生成网络图格式
  • 读取网络图格式文件
  • 对边进行删减,减去连接很小的边
    • 给每个边的宽度进行赋值,用粗细表示
    • 对图进行删减,删去连接少的边
      • 给每个边的宽度进行赋值,用粗细表示
      • 2021年数据
      • 给点的名称赋值
      • 将对角线的元素赋值为0
      • 生成网络图格式
      • 读取网络图格式文件
      • 对边进行删减,减去连接很小的边
        • 给每个边的宽度进行赋值,用粗细表示
        • 对图进行删减,删去连接少的边
          • 给每个边的宽度进行赋值,用粗细表示
          相关产品与服务
          灰盒安全测试
          腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档