Description Usage Arguments Details Value See Also Examples
Coerce objects to class "igraph".
1 2 3 4 5 6 7 8 |
x |
R object to be converted |
directed |
logical, whether the created network should be directed |
attrmap |
data.frame with attribute copy/rename
rules, see |
vertices |
NULL or data frame, optional data frame containing vertex attributes |
vnames |
character, name of the column in
|
... |
other arguments from/to other methods |
asIgraph
is a generic function with methods
written for data frames and objects of class "network".
If x
is a data frame, the method used is a wrapper
around graph.data.frame
in package
igraph. The vnames
argument was added so
that the user can specify which vertex attribute from the
data frame supplied through vertices
argument is
used for vertex names (the name
attribute in
igraph
objects) in the returned result. By default
the vertex names are not created.
If x
is of class "network" (package network)
the function uses asDF
to extract data on
edges and vertex with their attributes (if present).
Network attributes are extracted as well. Not all
vertex/edge/network attributes are worth preserving
though. Attributes are copied, dropped or renamed based
on rules given in the attrmap
argument, see
attrmap
for details. The function currently
does not support objects that represent neither bipartite
networks nor hypergraphs.
Object of class "igraph".
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 33 34 | ### using 'asIgraph' on objects of class 'network'
g <- asIgraph(exNetwork)
# compare adjacency matrices
netmat <- as.matrix(exNetwork, "adjacency")
imat <- as.matrix(g, "adjacency")
# drop the dimnames in 'netmat'
dimnames(netmat) <- NULL
# compare
identical( netmat, imat )
### using 'asIgraph' on data.frames
# data frame with vertex ids and vertex attributes
v <- 1:4
vd <- data.frame(id = v + 5, label=letters[1:4])
print(vd)
# edge list (first two columns) and edge attributes
e <- c(1,2, 2,3, 3,4, 4,1)
ed <- data.frame(id1 = e[seq(1,8, by=2)]+5, id2=e[seq(2, 8, by=2)]+5, a=letters[1:4])
print(ed)
# build the network
# without vertex attributes
g <- asIgraph(ed, directed=FALSE)
# with vertex attributes
gv <- asIgraph(ed, vertices=vd, directed=FALSE)
# NOTE: Even though vertex ids start at 6 the network has 4 nodes:
range(vd$id) # min and max of node ids
if(require(igraph)) igraph::vcount(gv) # number of nodes in 'gv'
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.