Various core functions from the network package, with specialized extensions for handling dynamic data.
get.edgeIDs.active(x, v, onset = NULL, terminus = NULL, length = NULL, at = NULL,
alter = NULL, neighborhood = c("out", "in", "combined"),
rule = c("any", "all", "earliest", "latest"), na.omit = TRUE, active.default = TRUE)
get.edges.active(x, v, onset = NULL, terminus = NULL, length = NULL, at = NULL,
alter = NULL, neighborhood = c("out", "in", "combined"),
rule = c("any", "all", "earliest", "latest"), na.omit = TRUE, active.default = TRUE)
get.neighborhood.active(x, v, onset = NULL, terminus = NULL, length = NULL, at = NULL,
type = c("out", "in", "combined"), rule = c("any", "all", "earliest", "latest"),
na.omit = TRUE, active.default = TRUE)is.adjacent.active(x, vi, vj, onset = NULL, terminus = NULL, length = NULL, at = NULL,
rule = c("any", "all", "earliest", "latest"), na.omit = FALSE, active.default = TRUE)
# S3 method for active
network.dyadcount(x, onset = NULL, terminus = NULL, length = NULL, at = NULL,
rule = c("any", "all", "earliest", "latest"),
na.omit = TRUE, active.default = TRUE,...)
# S3 method for active
network.edgecount(x, onset = NULL, terminus = NULL, length = NULL, at = NULL,
rule = c("any", "all", "earliest", "latest"),
na.omit = TRUE, active.default = TRUE,...)
# S3 method for active
network.naedgecount(x, onset = NULL, terminus = NULL, length = NULL, at = NULL,
rule = c("any", "all", "earliest", "latest"),
active.default = TRUE,...)
# S3 method for active
network.size(x, onset = NULL, terminus = NULL, length = NULL, at = NULL,
rule = c("any", "all", "earliest", "latest"),
active.default = TRUE,...)
an object of class network
a required vertex ID.
an optional vertex ID (tail).
an optional vertex ID (head).
an optional start time for the selection interval. This must be accompanied by one of terminus
or length
.
an optional end time for the selection interval. This must be accompanied by one of onset
or length
.
the length of the selection interval. This must be accompanied by one of onset
or terminus
a time point for selecting edges/vertices.
optionally, the ID of another vertex.
a text string that indicates whether we are interested in in-edges, out-edges, or both (relative to v
).
a text string that functions as neighborhood
, above, for vertex neighborhoods.
a text string for defining “active” for this call: any
(default) to select elements appearing at any time during the specified interval, or all
to select only elements active for the entire interval. For these functions, the values of earliest
and latest
are equivalent to any
and are only included for consistency.
logical; should we omit missing edges?
logical; should elements without an activity attribute be regarded as active by default?
possible additional argumenets
The return value matches that of the original function, suitably filtered.
These functions are “dynamically extended” versions of their standard network counterparts. As such, conventional aspects of their behavior can be found on their respective manual pages (see below). In all cases, the sole difference between the extended and non-extended versions lies in the ability of the user to specify a time point (or interval), such that only vertices and edges active at the indicated time (or during the indicated interval) are employed by the routine.
For elements (edges and vertices) lacking an activity attribute, the active.default
argument determines appropriate treatment. By default, all such elements are considered active.
Butts, C. T. (2008). “network: a Package for Managing Relational Data in R.” Journal of Statistical Software, 24(2). http://www.jstatsoft.org/v24/i02/
network.extract
, is.active
, get.edgeIDs
, get.edges
, get.neighborhood
, is.adjacent
, network.dyadcount
, network.edgecount
, network.naedgecount
, network.size
# NOT RUN {
## is.adjacent.active
triangle <- network.initialize(3) # create a toy network
add.edge(triangle,1,2) # add an edge between vertices 1 and 2
add.edge(triangle,2,3) # add a more edges
add.edge(triangle,3,1)
is.adjacent.active(triangle,vi=1,vj=2,onset=2,length=1)
## get.edges.active
net <-network.initialize(5)
net[1,2]<-1;
net[2,3]<-1;
activate.edges(net,onset=1,terminus=Inf,e=1)
activate.edges(net,onset=2,terminus=3,e=2)
get.edges.active(net,v=2,at=1)
get.edges.active(net,v=2,at=1, neighborhood="combined")
get.edges.active(net,v=2,at=2, neighborhood="combined")
## get the ids of the active edges instead (could be multiple incident edges)
get.edgeIDs.active(net,v=2,at=2)
## or get ids of the active nodes in a vertex neighborhood
get.neighborhood.active(net,v=2,at=2)
# returns both edges
get.edges.active(net,v=2,onset=1, terminus=3, neighborhood="combined", rule='any')
# returns only one edge (e=2)
get.edges.active(net,v=2,onset=1, terminus=3, neighborhood="combined", rule='all')
## network.edgecount.active
network.edgecount.active(net, at=1, active.default=FALSE)
network.edgecount.active(net, at=2, active.default=FALSE)
network.edgecount.active(net, at=5, active.default=FALSE)
# }
Run the code above in your browser using DataLab