Learn R Programming

netdiffuseR (version 1.22.6)

rgraph_er: Erdos-Renyi model

Description

Generates a bernoulli random graph.

Usage

rgraph_er(
  n = 10,
  t = 1,
  p = 0.01,
  undirected = getOption("diffnet.undirected"),
  weighted = FALSE,
  self = getOption("diffnet.self"),
  as.edgelist = FALSE
)

Value

A graph represented by an adjacency matrix (if t=1), or an array of adjacency matrices (if t>1).

Arguments

n

Integer. Number of vertices

t

Integer. Number of time periods

p

Double. Probability of a link between ego and alter.

undirected

Logical scalar. Whether the graph is undirected or not.

weighted

Logical. Whether the graph is weighted or not.

self

Logical. Whether it includes self-edges.

as.edgelist

Logical. When TRUE the graph is presented as an edgelist instead of an adjacency matrix.

Author

George G. Vega Yon

Details

For each pair of nodes \(\{i,j\}\), an edge is created with probability \(p\), this is, \(Pr\{Link i-j\} = Pr\{x<p\}\), where \(x\) is drawn from a \(Uniform(0,1)\).

When weighted=TRUE, the strength of ties is given by the random draw \(x\) used to compare against \(p\), hence, if \(x < p\) then the strength will be set to \(x\).

In the case of dynamic graphs, the algorithm is repeated \(t\) times, so the networks are uncorrelated.

References

Barabasi, Albert-Laszlo. "Network science book" Retrieved November 1 (2015) https://barabasi.com/book/network-science.

See Also

Other simulation functions: permute_graph(), rdiffnet(), rewire_graph(), rgraph_ba(), rgraph_ws(), ring_lattice()

Examples

Run this code
# Setting the seed
set.seed(13)

# Generating an directed graph
rgraph_er(undirected=FALSE, p = 0.1)

# Comparing P(tie)
x <- rgraph_er(1000, p=.1)
sum(x)/length(x)

# Several period random gram
rgraph_er(t=5)

Run the code above in your browser using DataLab