igraph-help
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [igraph] extracting vertex attributes from an family of graphs


From: Gábor Csárdi
Subject: Re: [igraph] extracting vertex attributes from an family of graphs
Date: Fri, 11 Apr 2014 08:57:09 -0400

On Fri, Apr 11, 2014 at 5:02 AM, Bob Pap <address@hidden> wrote:
Thanks, I was not sure the second was faster as there are additional calls in my version. Incidentally, thanks for pointing that get.vertex.attribute(g, attr, id) suffices (instead of get.vertex.attribute(g,attr,V(g)[which(V(g)$name==id)])). However, how does index correctly understand that I am using attribute "name"?  

igraph handles the 'name' attribute specially.
 
How if I wanted to identify the vertex by an another attribute?

You cannot.

Gabor
 
Kindly,
Bob Pap


On 11 April 2014 02:52, Gábor Csárdi <address@hidden> wrote:
Yes, but the second can be written as get.vertex.attribute(g, attr, id), which is a lot more readable and it i also slightly faster.

Gabor


On Thu, Apr 10, 2014 at 5:35 PM, Bob Pap <address@hidden> wrote:
Many thanks dear Gabor. I think the following two should do (equivalent?)

1. function(g,id="identifierXX",attr="betweeness") {
get.vertex.attribute(g,attr)[which(V(g)$name==id)]
}

2. function(g,id="identifierXX",attr="betweeness") {
get.vertex.attribute(g,attr,V(g)[which(V(g)$name==id)])
}


Kindly,
Bob Pap


On 10 April 2014 18:45, Gábor Csárdi <address@hidden> wrote:
On Thu, Apr 10, 2014 at 12:31 PM, Bob Pap <address@hidden> wrote:
Dear all,

Unaware of any method for dealing with multigraphs (in my case a family of graphs "g" indexed by time), I handle these by creating a list, indexed by the time period, say "Mygraphs", where Mygraphs[["2014-01-01"]] returns graph g as it was in 2014-01-01.

I face the need to extract a combination of attributes from the series (in the example below the vertex's "id" and "betweeness", ordered by the index of Mygraphs), I do so for example as follows:

sapply(
Mygraphs,
function(g,id="identifierXX",attr="betweeness") {
get.vertex.attribute(induced.subgraph(g, which(V(g)$name==id)),attr)
}
)

I cannot help to think that the use of induced.subgraph could be obviated by specifying the 2 dimensions (id and attr) at once in the extraction, but I how would I restrict get.vertex.attribute to only return the value for vertex "identifierXX" only?

See the 'index' argument of 'get.vertex.attribute'. 

Gabor
 

Any guidance would be appreciated.
Kindly,
Bob Pap

_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



_______________________________________________
igraph-help mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/igraph-help



reply via email to

[Prev in Thread] Current Thread [Next in Thread]