| when.vertex.attrs.match {networkDynamic} | R Documentation |
return the times at which the TEA attributes of elements of a network match a value
Description
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.
Usage
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))
Arguments
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 |
Details
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
Value
A numeric vector of attribute onset times (if rule='earliest') or termination times (if rule='latest')
Note
this is a draft implementation, suggestions on function and argument names welcome.
Author(s)
skyebend
See Also
See also attribute.activity.functions
Examples
# 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='<')