我想创建几个函数,其中使用R igraph
package创建的图形的顶点属性包含在变量中
library(igraph)
graph <- make_graph( ~ A-B-C-D-A, E-A:B:C:D,
F-G-H-I-F, J-F:G:H:I,
K-L-M-N-K, O-K:L:M:N,
P-Q-R-S-P, T-P:Q:R:S,
B-F, E-J, C-I, L-T, O-T, M-S,
C-P, C-L, I-L, I-P)
V(graph)$degree <- degree(graph)
V(graph)$btw <- betweenness(graph)
然后我想做这样的事情:
attribute <- "degree"
然后获得一个具有对应顶点属性的向量。V(graph)
看起来是一个列表,所以应该很简单。然而,
V(graph)["btw"] # Error in simple_vs_index(x, ii, na_ok) : Unknown vertex selected
V(graph)[attribute] # Same error
显然没有办法在$
后面放一个变量。我已经检查了this question,但我不清楚如何在这种情况下应用它。
最后,我想要的是在定义function(graph, attribute)
时不重复代码,例如,为不同的已定义属性创建 Dataframe 。
1条答案
按热度按时间tf7tbtn21#
正在检查the
igraph
manual pages you findvertex_attr
。只需使用