前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ggraph快速绘制相关性网络图

ggraph快速绘制相关性网络图

作者头像
R语言数据分析指南
发布2022-12-20 19:45:35
1.5K1
发布2022-12-20 19:45:35
举报

❝本节来介绍如何使用「ggraph」包来绘制相关性网络图,非常简单的一个小案例;

加载R包

代码语言:javascript
复制
library(tidyverse)
library(widyr)
library(ggraph)
library(tidytext)
library(RColorBrewer)

导入数据

代码语言:javascript
复制
df<- read_csv("data.csv")

数据清洗

❝使用「str_to_lower」将字符转换为小写,[:punct:]将标点符号移除 ❞

代码语言:javascript
复制
p <- df %>% 
  mutate(tags = str_to_lower(str_remove_all(tags, "[:punct:]"))) %>% 
  select(name,tags) %>% 
  separate_rows(tags, sep = " ") %>% 
  count(name,tags) %>% 
  filter(n > 3) %>% 
  pairwise_cor(tags, name, n) # 计算相关性

扩展调色板

❝由于需要用到的颜色较多因此使用「colorRampPalette」函数来扩展调色板 ❞

代码语言:javascript
复制
mycolors <- colorRampPalette(brewer.pal(8, "Set1"))(20)

绘制网络图

代码语言:javascript
复制
p %>% ggraph(layout = "fr")+
  geom_edge_link(aes(color = correlation > 0, width = correlation), alpha = 0.6)+
  geom_node_point(size=5,aes(color=name)) +
  geom_node_text(aes(label = name),color="black",
                 hjust = 0.5, vjust = 0.5,
                 check_overlap = T, size=4)+
  scale_color_manual(values = mycolors) +
  scale_edge_width_continuous(range = c(1,2)) +
  scale_edge_color_brewer(palette = "Paired")+
  theme_void() +
  theme(plot.margin = margin(0,1,0,0,"cm"))+
    guides(color = "none")
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 R语言数据分析指南 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 加载R包
  • 导入数据
  • 数据清洗
  • 扩展调色板
  • 绘制网络图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档