首页 > 其他分享 >【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享|附代码数据

【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享|附代码数据

时间:2023-05-18 23:44:20浏览次数:49  
标签:语言 复杂 网络 可视化 网络分析 聚类 数据

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

最近我们被客户要求撰写关于复杂网络分析的研究报告,包括一些图形和统计输出。

为了用R来处理网络数据,我们使用婚礼数据集 ( 查看文末了解数据获取方式 ) 。

CNA 研究和应用爆炸式增长的突出原因是两个因素 - 一个是廉价而强大的计算机的可用性,使在数学、物理和社会科学方面接受过高级培训的研究人员和科学家能够进行一流的研究;另一个因素是是人类社会、行为、生物、金融和技术方面不断增加的复杂性。

网络是离散数据的组织和表示的关系形式。关于网络的两个最重要的概念是实体和它们之间的关系。实体称为节点,关系称为边。网络节点和边是高级抽象,对于大多数网络来说,它们的真实性质并不重要。当必要时,我们通过添加属性来表示节点和边。关系或边通常涉及两个离散的实体或节点,尽管实体可以与自身存在关系,这种关系称为自反关系。

图片

在讨论复杂网络的真正样子之前,让我们先谈谈有时称为经典网络的基本简单网络。 经典网络的一个例子是线性网络——我们生命的时间线,每个生命事件(例如“出生”、“第一次走路”、“学校毕业”、“婚姻”和最终的“死亡”)都是一个实体至少一个属性是时间。“发生在之后”是这种情况下的关系,因为一条边将两个事件连接在一起,一个事件紧接着另一个事件发生。这个网络之所以被认为是简单的,是因为它具有规则的结构,而不是因为它很小。

图片

图片

线性时间线


点击标题查阅往期内容

图片

航空公司复杂网络对疫情进行建模

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

**
**

复杂的网络具有非平凡的结构,它既不是网格也不是树。

图片

图片 

由于没有全局控制的分散过程,这些复杂的网络发生在自然界和人造世界中。此类网络的一些代表包括:

  1. 社交网络:家人和朋友、Twitter 和 instagram 追随者等。
  2. 文化网络: 宗教网络、语言家族等。
  3. 技术网络: 交通和通讯系统等……
  4. 金融网络: 华尔街市场、国际贸易等。
  5. 生物网络: 基因/蛋白质相互作用、疾病流行等。

图片

R语言复杂网络分析:聚类(社区检测)和可视化

为了用R来处理网络数据,我们使用婚礼数据集 ( 查看文末了解数据获取方式 ) 。

 nflo=network(flo,directed=FALSE)

 plot(nflo, displaylabels = TRUE,+ boxed.labels =+ FALSE)

图片

下一步是igraph。由于我们有邻接矩阵,因此可以使用它

graph_from_adjacency_matrix(flo,

+ mode = "undirected")

图片

我们可以在两个特定节点之间获得最短路径。我们给节点赋予适当的颜色

 all_shortest_paths(iflo,

 )

 

 

> plot(iflo)

图片

我们还可以可视化边,需要从输出中提取边缘

> lins=c(paste(as.character(L)[1:4],

+ "--" 

+ as.character(L)[2:5]  sep="" ,

+ paste(as.character(L) 2:5],

+ "--",

 

> E(ifl )$color=c("grey","black")[1+EU]> plot(iflo)

图片

也可以使用D3js可视化

> library( networkD3 )

> simpleNetwork (df)

图片

下一个问题是向网络添加一个顶点。最简单的方法是通过邻接矩阵实现概率

> flo2["f","v"]=1> flo2["v","f"]=1

图片

然后,我们进行集中度测量。

图片

目的是了解它们之间的关系。

 betweenness(ilo)

 

> cor(base)

betw close deg eig

betw 1.0000000 0.5763487 0.8333763 0.6737162close 0.5763487 1.0000000 0.7572778 0.7989789deg 0.8333763 0.7572778 1.0000000 0.9404647eig 0.6737162 0.7989789 0.9404647 1.0000000

可以使用层次聚类图来可视化集中度度量

hclust(dist( ase  ,

+ method="ward")

图片

相关视频

**

拓端

,赞20

查看集中度度量的值,查看排名

 > for(i in 1:4) rbase[,i]=rank(base[,i])

图片

在此,特征向量测度非常接近顶点的度数。

最后,寻找聚类(以防这些家庭之间爆发战争)

> kc <- fastgreedy.community ( iflo )

在这里,我们有3类

图片

图片

图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《复杂网络分析CNA简介与R语言对婚礼数据聚类(社区检测)和可视化》。

图片

点击标题查阅往期内容

R语言公交地铁路线进出站数据挖掘网络图可视化
混合图形模型MGM的网络可预测性分析
网络社区检测(社群发现)分析女性参加社交活动和社区节点着色可视化
用航空公司复杂网络对疫情进行建模
R语言社区发现算法检测心理学复杂网络:spinglass、探索性图分析walktrap算法与可视化
R语言复杂网络分析:聚类(社区检测)和可视化
使用Python和SAS Viya分析社交网络
R语言用igraph绘制网络图可视化
在R语言中使用航空公司复杂网络对疫情进行建模
R语言用相关网络图可视化分析汽车配置和饮酒习惯
R语言公交地铁路线进出站数据挖掘网络图可视化
python对网络图networkx进行社区检测和彩色绘图R语言推特twitter网络转发可视化分析
R语言复杂网络分析:聚类(社区检测)和可视化
R语言混合图形模型MGM的网络可预测性分析
R语言使用自组织映射神经网络(SOM)进行客户细分
R语言网络分析友谊悖论案例
R语言网络和网络流的可视化实践:通勤者流动网络
R语言最大流最小割定理和最短路径算法分析交通网络流量拥堵问题
R语言公交地铁路线网络图实现数据挖掘实战
R软件SIR模型网络结构扩散过程模拟
通过SAS网络分析对人口迁移进行可视化分析
python隶属关系图模型:基于模型的网络中密集重叠社区检测方法
使用Python和SAS Viya分析社交网络
用R语言和python进行社交网络中的社区检测
python图工具中基于随机块模型动态网络社团检测
在R语言中使用航空公司复杂网络对疫情进行建模
采用SPSS Modeler的Web复杂网络对所有腧穴进行分析

标签:语言,复杂,网络,可视化,网络分析,聚类,数据
From: https://www.cnblogs.com/tecdat/p/17413643.html

相关文章

  • 数据库页面 — 深入探究
    数据库通常使用固定大小的页面来存储数据。表、集合、行、列、索引、序列、文档等最终都以字节形式存在页面中。这样,存储引擎就可以与负责数据格式和API的数据库前端分离开来。此外,当一切都是页面时,更容易读取、写入或缓存数据。下面是SQLServer页面布局的示例。在本文中,我......
  • Oracle从入门到精通-合并查询、添加修改删除数据
    6Oracle表的管理6.5oracle表的管理-表查询(重点)6.5.5Oracle表复杂查询--合并查询·合并查询有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,unionall,intersect,minus1)union该操作符用于取得两个结果集的并集,当使用该操作符时,=selectename,sal,j......
  • # yyds干货盘点 # 使用Python复制某文件夹下子文件夹名为"数据"文件夹下的所有以"DD"
    大家好,我是皮皮。一、前言前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。二、实现过程这里他自己有一个原始代码,但是实现的效果不尽人意。importshutilimportos#importsys#导入sys模块#sys.setrecursionlimit(1000)#......
  • GDI-GetBitmapBits获取兼容位图的数据
    设备独立位图和兼容位图:设备独立位图(Device-IndependentBitmap,简称DIB)和兼容位图(CompatibleBitmap,简称DDB)是两种不同的位图类型。DIB是一种独立于设备的位图格式,它的像素格式与设备无关,可以在不同分辨率和颜色深度的设备上显示。DIB可以通过使用位图信息头和像素数组来存储图......
  • 补充流程控制及基本数据类型的内置方法
    流程控制while+continue例:#请听题:循环打印出0-10之间的数字#请听题:循环打印出0-9之间的数字,但是不打印6count=0whilecount<4:ifcount==2:count+=1continue#是调出本次循环print(count)count+=1运行结果: while+else......
  • 流程控制补充及数据类型内置方法
    流程控制的补充while+continue的使用countinue:跳出本次循环,直接进入下一次循环。eg.1.循环打印出0-10之间的数字:1count=02whilecount<10:3print(count)4count+=1运行结果: eg2. 循环打印出0-9之间的数字,但是不打印5 1count=02whilec......
  • python day 06 部分循环和部分数据类型内置方法
    while+continue#请听题:循环打印出0-10之间的数字#请听题:循环打印出0-9之间的数字,但是不打印6count=0whilecount<10:ifcount==6:count+=1continue#是跳出本次循环,整体循环还在继续print(count)count+=1while+elsecount......
  • 使用Python复制某文件夹下子文件夹名为"数据"文件夹下的所有以"DD"开头的文件夹到桌面
    大家好,我是皮皮。一、前言前几天在Python最强王者群【魏哥】问了一个Python自动化办公处理的问题,这里拿出来给大家分享下。二、实现过程这里他自己有一个原始代码,但是实现的效果不尽人意。importshutilimportos#importsys#导入sys模块#sys.setrecursionlimit(10......
  • Python的基础语法“四” 数据类型内置方法
    数据类型内置方法1.整型1.语法: int()2.作用: 将括号内数据转化为整型还可以进行进制转换2.1、我们常见的进制有哪些?#常见的进制数:二进制、八进制、十进制、十六进制(ABCDEF)#二进制和十进制之间转换#十进制转二进制:除2取余法#......
  • MySQL数据库数据恢复 -【MySQL ERROR 1050: Table already exists】
     来源:http://www.360doc.com/content/18/0523/15/46399781_756406512.shtml ......