2017-09-01 82 views
0

我想創建一個基於igraph公式的矩陣(11行和2列)。它不工作爲什麼我不能基於igraph公式中的as.matrix命令創建矩陣?

bin_node_size<-vcount(g) #network size (number of nodes) 
wei_node_str<-graph.strength(g) #node strenght of each vertex 
bin_node_deg<-degree(g) #node degree for each vertex 
node_matrix<-as.matrix(c(wei_node_str, bin_node_deg), row=bin_node_size, col=2) 

下面是公式的輸出上面

bin_nodesize 
[1] 11 

wei_node_str 
A B C G D E F K H I J 
19 3 5 5 5 9 3 4 1 3 3 

bin_node_deg 
A B C G D E F K H I J 
6 2 2 2 1 3 1 2 1 1 1 

1)我有11個節點,但我不想寫「11」下排= 11,我想使用節點度來確定矩陣中的行數。

2)在我替換row = row = bin_node_size的行= 11的事件中,我最終得到1列而不是2的矩陣?即使命令as.matrix指定要獲得2列。

+1

用一個[可重現的例子](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)幫助你清楚輸入和所需的輸出。但'as.matrix'沒有名爲'row ='和'col ='的參數,它的參數名爲'nrow ='和'ncol ='。 – MrFlick

回答

0

嘗試使用rbind代替C()和NcoI/nrow的代替COL /行

node_matrix<-as.matrix(rbind(wei_node_str, bin_node_deg), 
        nrow=11, ncol=2) 

輸出作爲指定的矩陣:

 A B C G D E F K H I J 
[1,] 19 3 5 5 5 9 3 4 1 3 3 
[2,] 6 2 2 2 1 3 1 2 1 1 1 

樣品數據例如:

require(data.table) 

wei_node_str <- fread(" 
A B C G D E F K H I J 
19 3 5 5 5 9 3 4 1 3 3") 

bin_node_deg <- fread(" 
A B C G D E F K H I J 
6 2 2 2 1 3 1 2 1 1 1 ") 
相關問題