perturb {deal} | R Documentation |
Randomly insert/delete/turn arrows to obtain another network.
perturb(nw,data,prior,degree=nw$n,trylist=vector("list",nw$n), nocalc=FALSE,timetrace=TRUE)
nw |
an object of class network , from which arrows are added/removed/turned. |
data |
a data frame used for learning the network, see
network . |
prior |
a list containing parameter priors, generated by
jointprior . |
degree |
an integer, which gives the number of attempts to randomly insert/remove/turn an arrow. |
trylist |
a list used internally for reusing learning of nodes,
see maketrylist . |
nocalc |
a logical. If TRUE no learning procedure is called, see eg. simulation . |
timetrace |
a logical. If TRUE , prints some timing
information on the screen. |
Given the initial network, a new network is constructed by randomly choosing an action: remove, turn, add. After the action is chosen, we choose randomly among all possibilities of that action. If there are no possibilites, the unchanged network is returned.
A list with two elements,
nw |
an object of class network with the generated network. |
trylist |
an updated list used internally for reusing learning
of nodes, see maketrylist . |
Susanne Gammelgaard Bøttcher alma@math.auc.dk,
Claus Dethlefsen dethlef@math.auc.dk.
Further information about deal can be found at:
http://www.math.auc.dk/novo/deal.
set.seed(200) data(rats) fit <- network(rats) fit.prior <- jointprior(fit) fit <- learn(fit,rats,fit.prior)$nw fit.new <- perturb(fit,rats,fit.prior,degree=10)$nw data(ksl) ksl.nw <- network(ksl) ksl.rand <- perturb(ksl.nw,nocalc=TRUE,degree=10)$nw plot(ksl.rand)