实际上,我想将每个节点的特定属性设置为列表,并尝试使用此模式:
1)读边列表
net <- read.graph(path)
2)将所有节点的社区信息设置为空列表
net <- set.vertex.attribute(net, "community", V(net), value=list())
3)测试
net <- set.vertex.attribute(net, "community", V(net)[1], c(get.vertex.attribute(net, "community", V(net)[1]),4244))
get.vertex.attribute(net, "community", V(net)[1])
测试结果很好:返回正确的值。
但是,我希望连接每个节点的社区值 - 比如,V(net)[1]
的值为c(1, 3, 4, 5, …)
- 但我不确定如何继续。
答案 0 :(得分:0)
这会将节点属性设置为列表:
library(igraph)
g <- graph.famous("Bull") # sample
# to set attribute of one vertex
V(g)[1]$community <- list(c(1,1,1))
V(g)[1]$community[[1]]
# [1] 1 1 1
# to set attributes of all vertices
V(g)$community <- sapply(1:vcount(g),function(i)list(sample(1:5,5)))
V(g)$community
# [[1]]
# [1] 1 2 4 5 3
#
# [[2]]
# [1] 2 3 5 1 4
#
# [[3]]
# [1] 3 2 5 1 4
#
# [[4]]
# [1] 3 1 5 2 4
#
# [[5]]
# [1] 1 5 2 4 3