2017-09-01 1 views
0

igraphの数式に基づいて行列(11行と2列)を作成したいと考えています。それはigraph式からas.matrixコマンドに基づいて行列を作成できないのはなぜですか?

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 =です。ここ

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) 

を働いていない、私が欲しいですノードの次数を使用して、行列の行数を決定します。

2)row = row = bin_node_sizeをrow = 11に置き換えた場合、2ではなく1列の行列になりますか?たとえ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

を使用してみてくださいではなくC()の代わりにCOL /行及びをNcoI/nrowをrbind:指定され

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 ") 
関連する問題