2016-12-15 7 views
0

私は有向グラフを持っており、 "度合い"、 "度合い"、および "度合い"などのメトリックを持つ頂点のテーブルをエクスポートしたい1つでR igraph degree() 'match.argのエラー'

g <- graph(c("John", "Jim", "Jim", "Jill", "Jill", "John")) 

今は有向グラフのサンプルを持っていることを、私はアウトでは、各頂点のためにリストされている総学位を取得したいと思います。

degree(g, mode = c("in", "out", "total")) 

このエラーが返される:match.argで

エラー(引数= argを、選択肢=選択肢、several.ok = several.ok): '引数' は長さ1でなければなりません

私は間違っていますか?私はそれぞれを個別にすることができましたが、それらをすべて一緒に連結する方法はありません。

答えて

1

degreeigraphの関数は、そのような引数を複数受け入れません。異なる通話上mode引数を反復するためにsapplyを使用します。

sapply(list("in","out","total"), function(x) degree(g, mode = x)) 

それは連続した列の値を返します。うち、各個人を行った後

> sapply(list("in","out","total"), function(x) degree(g, mode = x)) 
    [,1] [,2] [,3] 
John 1 1 2 
Jim  1 1 2 
Jill 1 1 2 
0

、および総リスト、

idl <- degree(g, mode="in") 
odl <- degree(g, mode="out") 
tdl <- degree(g, mode="total") 

をデータフレームに変換する

idl <- data.frame(idl) 
odl <- data.frame(odl) 
tdl <- data.frame(tdl) 

その後、使用して組み合わせるcbind

> cbind(idl,odl,tdl) 
    idl odl tdl 
John 1 1 2 
Jim 1 1 2 
Jill 1 1 2 
関連する問題