I am working from R. I am trying to implement this call back function in R but
it seems to do not work.
Here in an example:
library(igraph)
d<-matrix(c(1, 0, 0, 0, 0.9,
0, 1, 0.6, 0.4, 0.5,
0, 0.6, 1, 0, 0.8,
0, 0.4, 0, 1, 0.5,
0.9, 0.5, 0.8, 0.5, 1), byrow=T, nrow=5)
g<-graph.adjacency(d, weighted=T, mode="lower",diag=FALSE, add.colnames=NA)
plot(g)
threshold-value <- 2 #Whow to use this information in the process?
dfs <- dfs(g, root = 1 ) #ex: I do not know any method to set up a
threshold-value n in here to stop the function.
visited <- dfs$order
Sum_Weights <- sum(E(g)$weight[visited])# here the Sum_Weights should be the
threshold-value
##################
## Terminate after the threshold-value , using a callback
threshold-value <- 2
data1 <- E(g)$weight
f.out <- function(graph, data1, extra) {
edge <- data['vid']
sum <- unlist(append(sum, data1[edge]))
sum > threshold-value
}
dfs <- dfs(g, root = 1,out.callback=f.out) # it does not work and aborts the
current R section.
________________________________
From: igraph-help
[[email protected]] on behalf of
Tamas Nepusz [[email protected]]
Sent: Tuesday, March 10, 2020 9:29 AM
To: Help for igraph users
Subject: Re: [igraph] (no subject)
So I need to use the Deep First Search algorithm from a random node and stop
the algorithm when the sum of node or vertices weights in the DFS sub-graph
achieve a certain limit.
Could you please help me telling if it is possible with the dfs igraph function?
Are you working from C? If so, you can use the "in_callback" and "out_callback"
arguments of igraph_dfs to call arbitrary functions when the DFS starts
visiting a node or when the DFS is done with a node and its subgraph. You can
also return a non-zero value from the callback functions to request igraph to
terminate the search.
Documentation here:
https://igraph.org/c/doc/igraph-Visitors.html#igraph_dfs
https://igraph.org/c/doc/igraph-Visitors.html#igraph_dfshandler_t
T.
_______________________________________________
igraph-help mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/igraph-help