関数を使用してnetwork
オブジェクトにエッジ属性を追加しようとしています。statnet
R
add.edge.attribute()
network
オブジェクトは次のとおりです。
> g
Network attributes:
vertices = 866
directed = TRUE
hyper = FALSE
loops = FALSE
multiple = TRUE
bipartite = FALSE
total edges= 5310
missing edges= 0
non-missing edges= 5310
Vertex attribute names:
vertex.names
Edge attribute names not shown
次に、ネットワーク内のエッジの数と同じ長さadd.edge.attribute()
の以下の を使用しました。connections
> table(connections)
favorite mention retweet
2564 2041 705
> sum(table(connections))
[1] 5310
> g <- set.edge.attribute(g, "connection_type", connections)
ただし、network
オブジェクトを調べると、何も変わっていないように見えます。
> g
Network attributes:
vertices = 866
directed = TRUE
hyper = FALSE
loops = FALSE
multiple = TRUE
bipartite = FALSE
total edges= 5310
missing edges= 0
non-missing edges= 5310
Vertex attribute names:
membership vertex.names
Edge attribute names not shown
それでも、で確認するとget.edge.attribute()
、うまくいったようです:
> tmp <- get.edge.attribute(g, "connection_type")
> str(tmp)
chr [1:5310] "mention" "mention" "mention" "mention" "mention" "mention" "mention" "mention" ...
そして、ergm
モデルの一部としてエッジ属性を使用しようとすると、使用しようとするedgecov()
と、次のエラーが返されました。
m1 <- ergm(g ~ edges + mutual + edgecov("connection_type"))
Error: There is no network attribute named connection_type
何を与える?エッジ属性名が表示されないのはなぜですか? また、ergm モデルの一部として機能していないように見えるのはなぜですか?