r - 顶点标签从 id 更改为 igraph 中的另一列
问题描述
我正在创建一个将 id 作为顶点名称的图。但是我想将顶点标签更改为另一个列值。我怎样才能做到这一点?
df1 中的列是 ID、名称,我希望顶点标签是名称
我的代码:
df1:
ID NAME
1 Ada
2 Cora
3 Louise
df2:
SOURCE TARGET TYPE ID WEIGHT
1 2 DIRECTED 2 2
1 3 DIRECTED 1 2
2 1 DIRECTED 3 1
g = graph.data.frame(d = df2, directed = TRUE, vertices = df1);
V(g)$size<-degree(g)
plot(g,
layout=layout.circle, main="circle",
vertex.label.dist=0.4,
vertex.label=V(g)$id,
vertex.label.cex=1, edge.arrow.size=0.
谢谢
解决方案
你可以试试
g %>%
set_vertex_attr(
name = "name",
value = V(.)$NAME
)
这使
IGRAPH 19e91db DN-- 3 3 --
+ attr: name (v/c), NAME (v/c), TYPE (e/c), ID (e/n), WEIGHT (e/n)
+ edges from 19e91db (vertex names):
[1] Ada ->Cora Ada ->Louise Cora->Ada
推荐阅读
- javascript - ReactJS HREF 导致状态丢失
- php - Python在php中运行时出错,但在终端中没有
- spring - Spring Cloud Data Flow 流无法部署在 Kubernetes 中
- graphql - Graphql 中的模式和文档有什么区别?
- javascript - AWS Cognito 身份池:AWS 凭证过期/续订
- ios - 如何创建一个单独的 NSUserDefaults(标准除外)- 不是跨扩展共享的?
- maven - AEM Mocks 缺少最新版本的工件
- flutter - 在颤动中按下按钮时自动增加一个值
- javascript - 删除存储在 localStorage 中的数组中的项目
- html - 如何使用 HTML 和 CSS 格式化图像