【问题标题】:get.inducedSubgraph and loop functionget.inducedSubgraph 和循环函数
【发布时间】:2015-11-10 17:57:06
【问题描述】:

我有一个列表,其中包含每一行的网络 (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"))

有人有建议吗?

【问题讨论】:

  • 我觉得这不是igaph,至少igraph没有get.inducedSubgraph的功能。
  • 您似乎正在使用network 包,但如果没有一些额外的代码上下文,我无法真正知道您在做什么。我不确定“每行包含一个网络的列表”是什么意思

标签: r for-loop statnet


【解决方案1】:

假设get.inducedSubgraph isolated alters 是您的问题的延续,听起来您试图诱导大小为零的子图。即v=which(sna.list.1[[i]]%v%"Female"=="1") 正在为某些网络返回integer(0)

理想情况下,由于network 包支持大小为零的网络(无顶点)get.inducedSubgraph() 在这种情况下应该返回大小为零的网络,但它还没有这样做。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多