2013-11-05 34 views
0

對igraph對象(g)進行了多次操作後,我的「id」屬性變成了滿嵌套列表。如何在igraph頂點屬性中展平列表

它看起來像這樣:

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/" 

...等等。

我需要「UNNEST」這個名單,使其成爲:

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。但是,我無法讓它工作。這真是令人沮喪!

回答

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" 
+0

謝謝,'unlist'在這裏爲問題的一部分做了訣竅。然而,看起來'contract.vertices'函數使事情變得複雜。 – timothyjgraham

+0

@timothyjgraham,我從來沒有使用過igraph軟件包,所以不知道我是否可以幫助你解決這個問題。 – A5C1D2H2I1M1N2O1R2T1

相關問題