\name{randomGraph} \alias{randomGraph} \title{ 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 \code{M} to the nodes, \code{V}. An edge is assigned between two elements of \code{V} when they both have the same element of \code{M} assigned to them. An object of class \code{graphNEL} is returned. } \usage{ randomGraph(V, M, p, weights=TRUE) } \arguments{ \item{V}{The nodes of the graph. } \item{M}{A set of values used to generate the graph. } \item{p}{A value between 0 and 1 that indicates the probability of selecting an element of \code{M}} \item{weights}{A logical indicating whether to use the number of shared elements of \code{M} as weights. } } \details{ The model is quite simple. To generate a graph, \code{G}, the user supplies the list of nodes, \code{V} and a set of values \code{M} which will be used to create the graph. For each node in \code{V} a logical vector with length equal to the length of \code{M} is generated. The probability of a \code{TRUE} at any position is determined by \code{p}. Once valus from \code{M} have been assigned to each node in \code{V} the result is processed into a graph. This is done by creating an edge between any two elements of \code{V} that share an element of \code{M} (as chosen by the selection process). The sizes of \code{V} and \code{M} and the values of \code{p} determine how dense the graph will be. } \value{ An object of class \code{\link{graphNEL-class}} is returned. } \author{R. Gentleman } \seealso{\code{\link{randomEGraph}}, \code{\link{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)# " ~ " since undirected } \keyword{graphs}