Description Usage Arguments Details Value Note Author(s) References See Also Examples
Add one or more edges to an existing network object.
1 2 3 |
x |
an object of class |
tail |
for |
head |
for |
names.eval |
for |
vals.eval |
for |
edge.check |
logical; should we perform (computationally expensive) tests to check for the legality of submitted edges? |
... |
additional arguments |
The edge checking procedure is very slow, but should always be employed when debugging; without it, one cannot guarantee that the network state is consistent with network level variables (see network.indicators
). For example, by default it is possible to add multiple edges to a pair of vertices.
Edges can also be added/removed via the extraction/replacement operators. See the associated man page for details.
Invisibly, add.edge
and add.edges
return pointers to their modified arguments; both functions modify their arguments in place..
add.edges
and add.edge
were converted to an S3 generic funtions in version 1.9, so they actually call add.edges.network
and add.edge.network
by default, and may call other versions depending on context (i.e. when called with a networkDynamic
object).
Carter T. Butts buttsc@uci.edu
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
, add.vertices
, network.extraction
, delete.edges
, network.edgelist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #Initialize a small, empty network
g<-network.initialize(3)
#Add an edge
add.edge(g,1,2)
g
#Can also add edges using the extraction/replacement operators
#note that replacement operators are much slower than add.edges()
g[,3]<-1
g[,]
#Add multiple edges with attributes to a network
# pretend we just loaded in this data.frame from a file
# Note: network.edgelist() may be simpler for this case
elData<-data.frame(
from_id=c("1","2","3","1","3","1","2"),
to_id=c("1", "1", "1", "2", "2", "3", "3"),
myEdgeWeight=c(1, 2, 1, 2, 5, 3, 9.5),
someLetters=c("B", "W", "L", "Z", "P", "Q", "E"),
edgeCols=c("red","green","blue","orange","pink","brown","gray"),
stringsAsFactors=FALSE
)
valueNet<-network.initialize(3,loops=TRUE)
add.edges(valueNet,elData[,1],elData[,2],
names.eval=rep(list(list("myEdgeWeight","someLetters","edgeCols")),nrow(elData)),
vals.eval=lapply(1:nrow(elData),function(r){as.list(elData[r,3:5])}))
list.edge.attributes(valueNet)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.