create {manynet} | R Documentation |
Making networks with defined structures
Description
These functions create networks with particular structural properties.
-
create_empty()
creates an empty network without any ties. -
create_filled()
creates a filled network with every possible tie realised. -
create_ring()
creates a ring or chord network where each nodes' neighbours form a clique. -
create_star()
creates a network with a maximally central node. -
create_tree()
creates a network with successive branches. -
create_lattice()
creates a network that forms a regular tiling. -
create_components()
creates a network that clusters nodes into separate components. -
create_core()
creates a network in which a certain proportion of 'core' nodes are densely tied to each other, and the rest peripheral, tied only to the core. -
create_explicit()
creates a network based on explicitly named nodes and ties between them.
These functions can create either one-mode or two-mode networks.
To create a one-mode network, pass the main argument n
a single integer,
indicating the number of nodes in the network.
To create a two-mode network, pass n
a vector of two integers,
where the first integer indicates the number of nodes in the first mode,
and the second integer indicates the number of nodes in the second mode.
As an alternative, an existing network can be provided to n
and the number of modes, nodes, and directedness will be inferred.
Usage
create_empty(n, directed = FALSE)
create_filled(n, directed = FALSE)
create_ring(n, directed = FALSE, width = 1, ...)
create_star(n, directed = FALSE)
create_tree(n, directed = FALSE, width = 2)
create_lattice(n, directed = FALSE, width = 8)
create_components(n, directed = FALSE, membership = NULL)
create_core(n, directed = FALSE, mark = NULL)
create_explicit(...)
Arguments
n |
Given:
|
directed |
Logical whether the graph should be directed.
By default |
width |
Integer specifying the width of the ring, breadth of the branches, or maximum extent of the neighbourbood. |
... |
Additional arguments passed on to |
membership |
A vector of partition membership as integers.
If left as |
mark |
A logical vector the length of the nodes in the network.
This can be created by, among other things, any |
Value
By default a tbl_graph
object is returned,
but this can be coerced into other types of objects
using as_edgelist()
, as_matrix()
,
as_tidygraph()
, or as_network()
.
By default, all networks are created as undirected.
This can be overruled with the argument directed = TRUE
.
This will return a directed network in which the arcs are
out-facing or equivalent.
This direction can be swapped using to_redirected()
.
In two-mode networks, the directed argument is ignored.
Lattice graphs
create_lattice()
creates both two-dimensional grid and triangular
lattices with as even dimensions as possible.
When the width
parameter is set to 4, nodes cannot have (in or out)
degrees larger than 4.
This creates regular square grid lattices where possible.
Such a network is bipartite, that is partitionable into two types that are
not adjacent to any of their own type.
If the number of nodes is a prime number, it will only return a chain
(a single dimensional lattice).
A width
parameter of 8 creates a network where the maximum degree of any
nodes is 8.
This can create a triangular mesh lattice or a Queen's move lattice,
depending on the dimensions.
A width
parameter of 12 creates a network where the maximum degree of
any nodes is 12.
Prime numbers of nodes will return a chain.
See Also
igraph::graph_from_literal()
which create_explicit()
mostly just wraps.
create_explicit()
will also accept character input and not just a formula though,
and will never simplify the result.
Other makes:
generate
,
learning
,
play
,
read
,
write()
Examples
create_empty(10)
create_filled(10)
create_ring(8, width = 2)
create_star(12)
create_tree(c(7,8))
create_lattice(12, width = 4)
create_components(10, membership = c(1,1,1,2,2,2,3,3,3,3))
create_core(6)
create_explicit(A -+ B, B -+ C, A +-+ C, D)