【发布时间】:2018-08-31 16:25:39
【问题描述】:
首先,我对 R 很陌生,如果这是一个简单的问题,我深表歉意。
我有一个 .csv 文件,其中包含一组边缘网络、与他们相关的人员以及人员和组的一些属性
例如
Group Person PersonGame GroupGame
A Jane Doe 斯诺克网球
B John Doe Football Football
A Bill 史密斯网球 网球
B 弗朗西斯安德伍德 足球 足球
弗朗西斯·安德伍德足球网球
我画了一个二分网络:
df <- read.csv("file.csv", header = TRUE, sep = ",")
df.network <- graph.data.frame(df, directed = F)
V(df.network)$type <- bipartite.mapping(df.network)$type
目前我已经对 Group 和 Person 顶点进行了不同的着色,如下所示:
V(df.network)$color <- ifelse(V(df.network)$type, "grey", "orange")
我真正想做的是根据“Person Game”字段对 Person 顶点进行不同的着色,但这似乎不是我可以为 Vertex 访问的属性,只能访问 Edge。所以这可以为边缘着色:
E(df.network)$color <- ifelse(E(df.network)$PersonGame=='Snooker',
"red", ifelse(E(df.network)$PersonGame=='Football', "blue", "orange"))
但如果我应用到顶点而不是边缘,它就不起作用,因为我无法将 PersonGame 属性应用到顶点。
有人可以帮忙吗?
【问题讨论】:
标签: r attributes igraph bipartite