0

属性の CSV を読み取った後、これらを既存のオブジェクトに適用したいと思います (statnet 固有の規則を使用)。事前に名前を知っていれば、次のようにします。

pred_net %v% "id" <- nodeInfo$id
pred_net %v% "age" <- nodeInfo$age
pred_net %v% "sex" <- nodeInfo$sex
pred_net %v% "handed" <- nodeInfo$handed
pred_net %v% "lastDocVisit" <- nodeInfo$lastDocVisit

これは問題なく動作しますが、名前 (ID、年齢、性別など) がわからず、次のようなことをしたいと考えています。

for (n in names(nodeInfo)) {
    pred_net %v% n <- nodeInfo$n
}

...エラーが発生します:

Error in set.vertex.attribute(x, attrname = attrname, value = value) : 
  Inappropriate value given in set.vertex.attribute.

これは、変数名 n が文字列として扱われて%v%演算子に渡されないためと考えられます。何か案は?

4

2 に答える 2

2

変数を選択することもできます[[characterVariable]]( nodeInfo がリストまたは a であると仮定しますdata.frame):

for (n in names(nodeInfo)) {
    pred_net %v% n <- nodeInfo[[n]]
}
于 2013-10-24T17:00:02.147 に答える
0

これはずっと前のことですが、同じ問題を抱えていたので、同じ問題に遭遇した人は私の解決策が役立つと思うかもしれません. 因子を文字列にキャストすることで解決しました。基本的に、最初の df では var のどれも要因であってはならないので、stringAsFactors=F を使用してからネットワークが df 属性を受け入れるようにしてください。

于 2017-05-31T22:54:49.177 に答える