I am looking for a way to subgraph edges based on a vertex attribute score of at least one of the vertices that are incident on that edge.
Is there an easy way to do so?
This question is missing a reproducible example or any example data of any kind. I'm going to take a risk and answer based on what I can guess Is being asked. First, I'll create a sample graph and assign arbitrary "prop" values to each vertex. I'll color them assuming i'm interested in
prop>=3 and plot them.
library(igraph) gg <- graph.atlas(711) V(gg)$name <- 1:7 V(gg)$prop <- c(1,2,2,3,3,1,1) V(gg)$color <- ifelse(V(gg)$prop>=3, "orange","yellow") plot(gg)
Now, I can find all the edges connected to a vertex with
E(gg)[inc(V(gg)[prop>=3])] # Edge sequence: # #  4 -- 3 #  5 -- 4 #  6 -- 5 #  5 -- 3
And if I like I can extract those to a sub-graph with
g2 <- subgraph.edges(gg, E(gg)[inc(V(gg)[prop>=3])]) plot(g2)