return the times at which the TEA attributes of elements of a network match a value
The functions query the TEA attributes of network elements (vertices or edges) and return the time that each element matches the specified value. The match operator defaults to '==', but other binary comparison operators that return logical, such as '>' or even '%in%' can be used as well.
when.vertex.attrs.match(nd, attrname, value, match.op = "==", rule = "earliest", no.match = Inf, v = seq_len(network.size(nd))) when.edge.attrs.match(nd, attrname, value, match.op = "==", rule = "earliest", no.match = Inf, e = seq_along(nd$mel))
nd |
a |
attrname |
character name of the TEA attribute to be queried |
value |
the value to be passed to the comparison operator to be matched against the TEA values |
match.op |
the binary operator to be used in determining a match (defaults to '==') |
rule |
character giving the name of the rule to determine what value should be returned from the spell of matching attributes. Options are |
no.match |
The value to be returned when the TEA attribute never matches |
v |
possible numeric vector of vertex ids indicating a subset of vertices to be queried |
e |
possible numeric vector of edge ids indicating a subset of edges to be queried |
The no.match
argument is included to make it possible for user to distinguish cases where the attribute is missing from the network element (which will return NA
) from cases where the value of the attribute never matches value
according to the operation match.op
A numeric vector of attribute onset times (if rule='earliest'
) or termination times (if rule='latest'
)
this is a draft implementation, suggestions on function and argument names welcome.
skyebend
See also attribute.activity.functions
# create a network with TEA attribute net<-network.initialize(5) net<-activate.vertex.attribute(net,'test','A',onset=0,terminus=2) net<-activate.vertex.attribute(net,'test','B',onset=2,terminus=3) net<-activate.vertex.attribute(net,'test','C',onset=4,terminus=5) net<-activate.vertex.attribute(net,'weight',0,onset=-Inf,terminus=Inf) net<-activate.vertex.attribute(net,'weight',-1,at=6,v=2) # when does 'test' take the value 'B' for each vertex? when.vertex.attrs.match(net,'test',value='B') # when is the terminus of when 'test' takes a value 'A' or 'C'? when.vertex.attrs.match(net,'test',value=c('A','C'),match.op='%in%',rule='latest') # when does 'weight' first take a value less than 0? when.vertex.attrs.match(net,'weight',value=0,match.op='<')
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.