我有一个包含每行网络的列表 (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"))
有人有什么建议吗?
最佳答案
假设get.inducedSubgraph isolated alters是你的问题的延续,听起来你试图归纳出一个大小为零的子图。即 v=which(sna.list.1[[i]]%v%"Female"=="1")
为某些网络返回 integer(0)
.
理想情况下,由于 network
包支持大小为零的网络(无顶点)get.inducedSubgraph()
在这种情况下应该返回大小为零的网络,但它还没有这样做。
关于r - get.inducedSubgraph 和循环函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32061533/