The data
can be a matrix of character
categories with rows specifying the node-variables and columns assumed to be independent samples from an unknown network, or
a data.frame
with columns specifying the nodes and rows being the samples.
The number of node categories are obtained from the sample. If given, the nodeCats
is used as a list of categories. In that case, nodeCats
should include the node categories presented in the data.
The function returns a list of networks, one for each admissible complexity within the
specified range. The networks in the list are the Maximum Likelihood estimates in the class of networks having the given topological order of the nodes and complexity.
When maxComplexity
is not given, thus zero, its value is reset to the maximum possible complexity for the given parent set size. When nodeOrder
is not given or NULL
, the order of the nodes in the data is taken, 1,2,...
.
The parameters parentsPool
and fixedParents
allow the user to put some exclusion/inclusion constrains on the possible parenthood of the nodes. They should be given as lists of index vectors, one for each node.
The rows in edgeProb
correspond to the nodes in the sample. The [i,j]-th element in edgeProb
specifies
a prior probability for the j-th node to be a parent of the i-th one.
In calculating the prior probability of a network all edges are assumed independent Bernoulli random variables.
The elements of edgeProb
are cropped in the range [0,1], such that the zero probabilities effectively exclude the corresponding edges, while the ones force them.