如何在igraph顶点属性中展平列表

时间:2013-11-05 06:39:44

标签: r nested-lists igraph

对igraph对象(g)进行了几次操作后,我最终得到的“id”属性变得充满了嵌套列表。

看起来像这样:

head(V(g)$id)

[[1]]
[[1]][[1]]
[[1]][[1]][[1]]
[1] "http://www.parliament.uk/"


[[2]]
[[2]][[1]]
[[2]][[1]][[1]]
[1] "http://www.businesslink.gov.uk/"


[[3]]
[[3]][[1]]
[[3]][[1]][[1]]
[1] "http://www.number10.gov.uk/"

......等等。

我需要'不再'这个列表,所以它变成了:

head(V(g)$id)
[1] "http://www.parliament.uk/"       "http://www.businesslink.gov.uk/"
[3] "http://www.number10.gov.uk/"     "http://www.ombudsman.org.uk/"
[5] "http://www.hm-treasury.gov.uk/"  "http://data.gov.uk/"

当igraph将对象导出到graphml文件时,嵌套列表会导致问题。它导致为“id”分配默认标签(例如n0,n1,n2 ......)。

我还尝试了其他几个问题,尤其是this one。但是,我无法让它发挥作用。这真是令人沮丧!

1 个答案:

答案 0 :(得分:2)

您是否只是在寻找unlist

L <- list(list(list("A")), list(list("B")))
L
# [[1]]
# [[1]][[1]]
# [[1]][[1]][[1]]
# [1] "A"
# 
#
#
# [[2]]
# [[2]][[1]]
# [[2]][[1]][[1]]
# [1] "B"
#
#
#
unlist(L)
# [1] "A" "B"