randomGraph {graph} | R Documentation

## Random Graph

### Description

This function generates a random graph according to a model that involves a latent variable. The construction is to randomly assign members of the set `M` to the nodes, `V`. An edge is assigned between two elements of `V` when they both have the same element of `M` assigned to them. An object of class `graphNEL` is returned.

### Usage

    randomGraph(V, M, p, weights=TRUE)

### Arguments

`V` | The nodes of the graph.
`M` | A set of values used to generate the graph.
`p` | A value between 0 and 1 that indicates the probability of selecting an element of `M`
`weights` | A logical indicating whether to use the number of shared elements of `M` as weights.

### Details

The model is quite simple. To generate a graph, `G`, the user supplies the list of nodes, `V` and a set of values `M` which will be used to create the graph. For each node in `V` a logical vector with length equal to the length of `M` is generated. The probability of a `TRUE` at any position is determined by `p`. Once valus from `M` have been assigned to each node in `V` the result is processed into a graph. This is done by creating an edge between any two elements of `V` that share an element of `M` (as chosen by the selection process).

The sizes of `V` and `M` and the values of `p` determine how dense the graph will be.

### Value

An object of class `graphNEL-class` is returned.

### Author(s)

R. Gentleman

### See Also

`randomEGraph`, `randomNodeGraph`

### Examples

     set.seed(123)
     V <- letters[1:10]
     M <- 1:4
     g1 <- randomGraph(V, M, 0.2)
     numEdges(g1) # 16, in this case
     edgeNames(g1)# "<from> ~ <to>"  since undirected

[Package graph version 1.58.2 Index]