Nothing
### A collection of helper functions for testing, help create random examples.
rConnectedAdjMatrix <- function(n, p) {
weights <- runif(n * (n - 1)/2)
g <- igraph::minimum.spanning.tree(igraph::graph.full(n), weights = weights)
adjMatrix <- as.matrix(igraph::get.adjacency(g))
adjMatrix <- (upper.tri(matrix(0, n, n)) & matrix(sample(c(T, F), n^2, replace = T,
prob = c(p, 1 - p)), ncol = n)) | adjMatrix
adjMatrix <- 1 * (adjMatrix | t(adjMatrix))
return(adjMatrix)
}
rAcyclicDirectedAdjMatrix <- function(n, p) {
return(1 * (upper.tri(matrix(0, n, n)) & matrix(sample(c(T, F), n^2, replace = T,
prob = c(p, 1 - p)), ncol = n)))
}
rDirectedAdjMatrix <- function(n, p) {
return((1 - diag(n)) * matrix(sample(c(T, F), n^2, replace = T, prob = c(p, 1 -
p)), ncol = n))
}
rUndirectedAdjMat <- function(n, p) {
mat <- matrix(runif(n^2), ncol = n) < p
mat <- mat * upper.tri(mat)
return(mat + t(mat))
}
getAdjMat <- function(g) {
as.matrix(igraph::get.adjacency(g))
}
solvedParentsToIndexMat <- function(solvedParents) {
nSolved <- sum(sapply(solvedParents, length))
mat <- matrix(0, ncol = 2, nrow = nSolved)
k <- 1
for (i in 1:length(solvedParents)) {
solved <- solvedParents[[i]]
if (length(solved) == 0) {
next
}
mat[k:(k + length(solved) - 1), ] <- cbind(solved, rep(i, length(solved)))
k <- k + length(solved)
}
return(mat)
}
randomIdentificationTest <- function(identifier, L, O, solvedParents) {
n <- nrow(L)
L1 <- L * matrix(runif(n^2, 0.1, 1), n)
O1 <- (diag(n) + O) * matrix(runif(n^2, 0.1, 1), n)
O1 <- O1 + t(O1)
S1 <- t(solve(diag(n) - L1)) %*% O1 %*% solve(diag(n) - L1)
identifiedParams <- identifier(S1)
toCheck <- solvedParentsToIndexMat(solvedParents)
expect_true(all(!is.na(identifiedParams$Lambda[toCheck])))
expect_true(all(abs(identifiedParams$Lambda - L1) < 10^-6, na.rm = T))
expect_true(all(abs(identifiedParams$Omega - O1) < 10^-6, na.rm = T))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.