0

Rで動作するigraphにノードのプロパティを追加するときに問題が発生しました。journal.txtという名前のテキストリストを作成し、グラフのノードにプロパティを付与したいと思います。他のテキストまたは数値のリストでは、まったく問題はありませんでしたが、これでは問題があります。

これを使用して、txtファイルを読み取り、最初の列だけを読み取ります。1つだけですが、文字として読み取ります。ただし、なしでも試しましたが、機能しません。

journalList = read.csv("c:/temp/biblioCoupling/journals.txt", header=FALSE)
journalLR = (journalList[1:303,1]) 
journalLR = as.character(journalLR) 
V(g)$journalName = journalLR

次に、ファイルを保存すると、

write.graph(gr,"filename.gml",format=c("gml"), creator="Claudio Biscaro")

ノードに追加した他のすべてのプロパティは表示されますが、これは表示されません!!!

journalLRの一部のエントリが15文字を超えていることが原因でしょうか。なぜそれができないのか全く分かりません

4

2 に答える 2

0

一度に1つずつ追加することで解決しました。それは変でした。久しぶりに!

for (i in 1:length(journalLR))
{
  V(g)[i]$journalName = journalLR[i]
}

おそらくそれは正式には良い解決策ではありませんが、うまくいきます!

于 2012-12-07T14:00:04.170 に答える
0

あなたのコードは再現可能ではなく、確実に言うことは不可能ですが、それは複雑な属性であると思いV(g)$journalNameます。つまり、値のベクトルではなく、値のリストです。

確認するには、属性str(g)の後のコード文字を確認してください。journalNameの場合xは複雑で、の場合cは文字です。

これが問題であり、実際にリストが必要ない場合、回避策は次のことを行うことです。

g <- remove.vertex.attribute(g, "journalName")
V(g)$journalName <- journalName
于 2012-12-07T18:21:51.847 に答える