Networking 如何将顶点属性仅指定给statnet中二部网络中的一种模式?
我目前正在使用一个具有两种不同模式和两组不同属性的二部网络。所以从第1行到第5行是一种模式,演员a、B和C是不同的模式,他们形成了一些以a 1为标记的连接Networking 如何将顶点属性仅指定给statnet中二部网络中的一种模式?,networking,attributes,vertex,bipartite,statnet,Networking,Attributes,Vertex,Bipartite,Statnet,我目前正在使用一个具有两种不同模式和两组不同属性的二部网络。所以从第1行到第5行是一种模式,演员a、B和C是不同的模式,他们形成了一些以a 1为标记的连接 a<-replicate( 3, numeric(5) ) b<-apply(a, c(1,2), function(x) sample(c(0,1),1)) rownames(b) <- rownames(c(1,2,3,4,5)) colnames(b) <-colnames(c("
a<-replicate( 3, numeric(5) )
b<-apply(a, c(1,2), function(x) sample(c(0,1),1))
rownames(b) <- rownames(c(1,2,3,4,5))
colnames(b) <-colnames(c("A","B","C"))
b
A B C
[1,] 1 0 1
[2,] 1 0 1
[3,] 0 0 0
[4,] 0 1 1
[5,] 1 1 0
c<-as.network(b, directed=T, bipartite =3)
e<-c('A',"B","C")
f<-c('tall','short','tall')
g<-data.frame(e,f)
colnames(g)<-c('person','height')
g
person height
A tall
B short
C tall
但是我得到了以下错误
Vertex ID does not correspond to actual vertex in set.vertex.attribute.
我想我明白了。我自己在使用二部网络时也遇到了同样的问题,我从iGraph教程中借用了一些代码
set.vertex.attribute(c,attrname = "height",
value = as.character(g$height),
v= match(c %v% "vertex.names",g$person))
这对我很有效,我不确定你是否需要as.character。您使用的名称是statnet,通过“vertex.names”来表示所需的顶点
set.vertex.attribute(c,attrname = "height",
value = as.character(g$height),
v= match(c %v% "vertex.names",g$person))