我有一个包含每一行网络的列表(sna.list.1)。对于每个网络,我需要提取一个只包含女性的子图,以便计算女性专用网络的密度。我创建了一个循环函数来设置顶点属性。
female=vector()
for (i in 1 : length (sna.list.1))
set.vertex.attribute(sna.list.1[[i]],"Female",alter.list.1bis[[i][,"NIDemo1_c4"])
但是当我试图用get.inducedSubgraph创建子图时,我会收到一条警告消息,上面写着“get.inducedSubgraph中的非法顶点选择”。如果我仅将其应用于一行/网络,则同样的公式有效。
subnetwork2=vector()
for (i in 1 : length (sna.list.1))
subnetwork2[[i]]=get.inducedSubgraph(sna.list.1[[i]],v=which(sna.list.1[[i]]%v%"Female"=="1"))
有人有什么建议吗?
发布于 2015-09-08 11:13:10
假设get.inducedSubgraph isolated alters是您的问题的延续,听起来就像您试图导出一个大小为零的子图。也就是说,v=which(sna.list.1[[i]]%v%"Female"=="1")
返回了一些网络的integer(0)
。
理想情况下,由于network
包支持大小为零(没有顶点)的网络,在这种情况下,get.inducedSubgraph()
应该返回大小为零的网络,但它还没有这样做。
https://stackoverflow.com/questions/32061533
复制相似问题