【问题标题】:R iGraph remove vertices with attribute value = NAR iGraph 删除属性值 = NA 的顶点
【发布时间】:2021-01-27 06:00:25
【问题描述】:

我正在尝试从图中删除属性“concreteness”中值为“NA”的所有顶点。我试过使用以下代码:

G.concrete <- delete.vertices(g, V(g)$concreteness[V(g)$concreteness, value = "NA"])

但没有运气。

例如,如果我们将具体值设为:

concreteness <- c(NA, 0.1, 0.2, 0.3, 0.4, NA, 0.4, 0.3, 0.2, 0.1)

然后使用以下方法将它们设置为属性:

g <- make_ring(10) %>%
set_vertex_attr("concreteness", value = concreteness)

我们将有两个需要删除的顶点。这些"NA" 值在使用is.na() 查询时注册为"TRUE"

谢谢,

彼得

【问题讨论】:

  • 感谢您的回答。我已经编辑了原始帖子。

标签: r igraph na


【解决方案1】:

要选择所有具有 NA 值的顶点,您可以这样做

V(g)[is.na(concreteness)]

要删除它们,请使用

delete.vertices(g, V(g)[is.na(concreteness)])

【讨论】:

  • 非常感谢!这对我的数据很好,但出于好奇,我想知道是否有办法在不参考“具体性”向量的情况下做到这一点?
  • 其实不是使用具体向量,而是使用属性值。请参阅:igraph.org/r/doc/igraph-vs-indexing.html 的“顶点属性”部分。您可以通过更改向量的名称但保持属性名称相同来验证这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-20
  • 2019-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
  • 2015-11-20
相关资源
最近更新 更多