三国演义人物出场统计代码含义_R语言—三国演义人物关系可视化

本文将会介绍如何使用《三国演义》的数据,利用R语言构建人物关系网络并可视化。在网络中节点为人物名称,边则是根据相关系数进行设置。

首先获取网络中表示边的数据表,程序如下所示:

library(igraph)library(tidyr)## 数据准备,读取每个人物在各章(回)出现的次数数据load(file = "data/三国人物在各章出现的次数.RData")name_cor name_cor[lower.tri(name_cor)] namecordf ## 为数据添加一列人物名称变量namecordf$from ## 将数据表转化为长数据edgedf ## 只保留相关系数在0.3~1之间的连接edgedf  0.3 & edgedf$cor < 1),]head(edgedf)##     from     to       cor## 169 曹操   荀彧 0.4310889## 225 曹操   荀攸 0.4881319## 228 荀彧   荀攸 0.3666677## 393 曹操   张辽 0.4429935## 449 曹操   徐晃 0.3891521## 505 曹操 夏侯惇 0.3205035

在上面的程序中,首先通过人物在各章出现的次数计算它们之间的相关性,然后将相关系数矩阵转化为长数据,并只保留相关系数较大的关系,可获得数据表edgedf,在数据表中from表示边的起点,to表示边的终点。

下面准备网络图中节点数据,程序如下所示:

## 读取关键人物的数据TK_name                     stringsAsFactors = FALSE)TK_name ## 生成节点数据表vertdf ## 添加人物出现的次数数据name_freq                         freq = colSums(namefredf))vertdf head(vertdf)##     node group freq## 1   曹操  曹魏  945## 2 司马懿  曹魏  321## 3   荀彧  曹魏   57## 4   荀攸  曹魏   29## 5   程昱  曹魏   44## 6   张辽  曹魏  159

上面的程序中,只保留在

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值