2013-06-18 83 views
3

我想一個向量指派爲頂點的屬性的屬性,但沒有任何運氣:的igraph分配一個載體,作爲一個頂點

# assignment of a numeric value (everything is ok) 
g<-set.vertex.attribute(g, 'checked', 2, 3) 
V(g)$checked 

# assignment of a vector (is not working) 
g<-set.vertex.attribute(g, 'checked', 2, c(3, 1)) 
V(g)$checked 

檢查手冊,http://igraph.sourceforge.net/doc/R/attributes.html 看起來這是不可能的。有什麼解決方法嗎?

截至目前唯一的東西,我拿出有:

店這

  • 信息在其他結構
  • 轉換矢量與分隔符並存儲爲一個字符串,字符串

回答

4

This works fine:

## replace c(3,1) by list(c(3,1)) 
g <- set.vertex.attribute(g, 'checked', 2, list(c(3, 1))) 
V(g)[2]$checked 
[1] 3 1 

編輯爲什麼這有效? 當你使用:

g<-set.vertex.attribute(g, 'checked', 2, c(3, 1)) 

你得到這樣的警告:

number of items to replace is not a multiple of replacement length 

事實上你試圖將C(3,1),其具有長度 = 2,長度= 1的變量。所以這個想法是用類似的東西代替c(3,1),但是長度= 1。例如:

length(list(c(3,1))) 
[1] 1 
> length(data.frame(c(3,1))) 
[1] 1 
相關問題