替代可视化

案例研究:用 R 进行网络分析

Edmund Hart

Instructor

蜂巢图简介

library(HiveR)
library(igraph)

# 创建随机图
rand_g <- erdos.renyi.game(18, 0.3, "gnp", directed = TRUE)

# 绘制随机图
plot(rand_g, vertex.size = 7)
案例研究:用 R 进行网络分析

案例研究:用 R 进行网络分析

蜂巢图简介

# 转为蜂巢图数据框并添加权重
rand_g_df <- as.data.frame(get.edgelist(rand_g))
rand_g_df$weight <- 1

# 转为蜂巢对象 rand_hive <- edge2HPD(edge_df = rand_g_df)
# 设置每个节点的轴与半径 rand_hive$nodes$axis <- sort(rep(1:3, 6)) rand_hive$nodes$radius <- as.double(rep(1:6, 3))
案例研究:用 R 进行网络分析

蜂巢图简介

# 查看节点的修改
rand_hive$nodes
id lab axis radius size color
1   2    1      1    1 black
2   8    1      2    1 black
3   9    1      3    1 black
4   3    1      4    1 black
5   4    1      5    1 black
6   7    1      6    1 black
7  11    2      1    1 black
8  14    2      2    1 black
9  18    2      3    1 black
# 查看蜂巢图
plotHive(rand_hive, method = "abs", bkgnd = "white")
案例研究:用 R 进行网络分析

案例研究:用 R 进行网络分析

修改蜂巢图

# 设置每个节点的位置
rand_hive$nodes$axis <- sort(rep(1:3, 6))
rand_hive$nodes$radius <- as.double(rep(1:6, 3))

# 为每条边添加权重 rand_hive$edges$weight <- as.double( rpois(length(rand_hive$edges$weight), 5) ) # 按边的起点设置颜色 rand_hive$edges$color[rand_hive$edges$id1 %in% 1:6] <- 'red' rand_hive$edges$color[rand_hive$edges$id1 %in% 7:12] <- 'blue' rand_hive$edges$color[rand_hive$edges$id1 %in% 13:18] <- 'green'
# 绘图 plotHive(rand_hive, method = "abs", bkgnd = "white")
案例研究:用 R 进行网络分析

案例研究:用 R 进行网络分析

Biofabric 图

# 创建随机图
rand_g <- erdos.renyi.game(10, 0.3, "gnp", directed = FALSE)
rand_g <- simplify(rand_g)

# 为顶点添加名称 V(rand_g)$name <- LETTERS[1:length(V(rand_g))]
# 创建 biofabric 图 biofbc <- bioFabric(rand_g) bioFabric_htmlwidget(biofbc)
案例研究:用 R 进行网络分析

案例研究:用 R 进行网络分析

案例研究:用 R 进行网络分析

开始练习!

案例研究:用 R 进行网络分析

Preparing Video For Download...