R语言 获取图形中属性的值,属性名称存储在变量中

rlcwz9us  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(158)

我想创建几个函数,其中使用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 。

相关问题