DAG = create_empty_DAG(3)
DAG = bnlearn::set.arc(DAG, 'U1', 'U3')
DAG = bnlearn::set.arc(DAG, 'U2', 'U3')
order_hash = r2r::hashmap()
order_hash[['U3']] = c("U1", "U2")
fam = matrix(c(0, 0, 1,
0, 0, 1,
0, 0, 0), byrow = TRUE, ncol = 3)
tau = 0.2 * fam
my_PCBN = new_PCBN(
DAG, order_hash,
copula_mat = list(tau = tau, fam = fam))
mydata = PCBN_sim(my_PCBN, N = 5)
e = default_envir()
result = fit_copulas(data = mydata, DAG = DAG,
order_hash = order_hash,
familyset = 1, e = e)
result_all_orders = fit_all_orders(data = mydata, DAG = DAG,
familyset = 1, e = e)
# The two fitted PCBNs are:
print(result_all_orders$fitted_list[[1]])
print(result_all_orders$fitted_list[[2]])
# and the metrics matrix is:
print(result_all_orders$metrics)
# The PCBN corresponding to the true order U1 < U2 is usually better
# than the second one. This Will be more clear with a bigger sample size.
Run the code above in your browser using DataLab