Generate bipartite graphs using the Erdos-Renyi model

## Usage

sample_bipartite(
n1,
n2,
type = c("gnp", "gnm"),
p,
m,
directed = FALSE,
mode = c("out", "in", "all")
)

bipartite(...)

## Arguments

n1

Integer scalar, the number of bottom vertices.

n2

Integer scalar, the number of top vertices.

type

Character scalar, the type of the graph, ‘gnp’ creates a $$G(n,p)$$ graph, ‘gnm’ creates a $$G(n,m)$$ graph. See details below.

p

Real scalar, connection probability for $$G(n,p)$$ graphs. Should not be given for $$G(n,m)$$ graphs.

m

Integer scalar, the number of edges for $$G(n,m)$$ graphs. Should not be given for $$G(n,p)$$ graphs.

directed

Logical scalar, whether to create a directed graph. See also the mode argument.

mode

Character scalar, specifies how to direct the edges in directed graphs. If it is ‘out’, then directed edges point from bottom vertices to top vertices. If it is ‘in’, edges point from top vertices to bottom vertices. ‘out’ and ‘in’ do not generate mutual edges. If this argument is ‘all’, then each edge direction is considered independently and mutual edges might be generated. This argument is ignored for undirected graphs.

...

Passed to sample_bipartite().

## Value

A bipartite igraph graph.

## Details

Similarly to unipartite (one-mode) networks, we can define the $$G(n,p)$$, and $$G(n,m)$$ graph classes for bipartite graphs, via their generating process. In $$G(n,p)$$ every possible edge between top and bottom vertices is realized with probability $$p$$, independently of the rest of the edges. In $$G(n,m)$$, we uniformly choose $$m$$ edges to realize.

Random graph models (games) erdos.renyi.game(), sample_correlated_gnp_pair(), sample_correlated_gnp(), sample_degseq(), sample_dot_product(), sample_fitness_pl(), sample_fitness(), sample_forestfire(), sample_gnm(), sample_gnp(), sample_grg(), sample_growing(), sample_hierarchical_sbm(), sample_islands(), sample_k_regular(), sample_last_cit(), sample_pa_age(), sample_pa(), sample_pref(), sample_sbm(), sample_smallworld(), sample_traits_callaway(), sample_tree(), sample_()

Random graph models (games) erdos.renyi.game(), sample_correlated_gnp_pair(), sample_correlated_gnp(), sample_degseq(), sample_dot_product(), sample_fitness_pl(), sample_fitness(), sample_forestfire(), sample_gnm(), sample_gnp(), sample_grg(), sample_growing(), sample_hierarchical_sbm(), sample_islands(), sample_k_regular(), sample_last_cit(), sample_pa_age(), sample_pa(), sample_pref(), sample_sbm(), sample_smallworld(), sample_traits_callaway(), sample_tree(), sample_()

## Author

Gabor Csardi csardi.gabor@gmail.com

## Examples


## empty graph
sample_bipartite(10, 5, p = 0)
#> IGRAPH bce1742 U--B 15 0 -- Bipartite Gnp random graph
#> + attr: name (g/c), p (g/n), type (v/l)
#> + edges from bce1742:

## full graph
sample_bipartite(10, 5, p = 1)
#> IGRAPH 369311e U--B 15 50 -- Bipartite Gnp random graph
#> + attr: name (g/c), p (g/n), type (v/l)
#> + edges from 369311e:
#>    1--11  1--12  1--13  1--14  1--15  2--11  2--12  2--13  2--14  2--15
#>   3--11  3--12  3--13  3--14  3--15  4--11  4--12  4--13  4--14  4--15
#>   5--11  5--12  5--13  5--14  5--15  6--11  6--12  6--13  6--14  6--15
#>   7--11  7--12  7--13  7--14  7--15  8--11  8--12  8--13  8--14  8--15
#>   9--11  9--12  9--13  9--14  9--15 10--11 10--12 10--13 10--14 10--15

## random bipartite graph
sample_bipartite(10, 5, p = .1)
#> IGRAPH ef5ed37 U--B 15 6 -- Bipartite Gnp random graph
#> + attr: name (g/c), p (g/n), type (v/l)
#> + edges from ef5ed37:
#>  7--12 5--13 2--15 4--15 6--15 8--15

## directed bipartite graph, G(n,m)
sample_bipartite(10, 5, type = "Gnm", m = 20, directed = TRUE, mode = "all")
#> IGRAPH 5a7dc2e D--B 15 20 -- Bipartite Gnm random graph
#> + attr: name (g/c), m (g/n), type (v/l)
#> + edges from 5a7dc2e:
#>    2->11  8->11 10->11  1->12  7->12  4->13  7->13  6->14  4->15 10->15
#>  15-> 1 12-> 2 13-> 2 15-> 2 11-> 3 12-> 3 13-> 4 15-> 6 12-> 7 15->10