## ----echo = F, eval = F------------------------------------------------------- # A <- matrix(nrow = 3, ncol = 3, data = c(4,3,2,1,-3,3,7,-8,2), byrow = T) # B <- matrix(nrow = 3, ncol = 3, data = c(0,1,2,2,4,6,-1,2,-2), byrow = T) # A-B # x <- 2 # x - B # t(A) ## ----comment = NA------------------------------------------------------------- A <- matrix(nrow = 3, ncol = 3, data = c(4,3,2,1,-3,3,7,-8,2), byrow = T) A t(A) ## ----comment = NA------------------------------------------------------------- A <- matrix(2, 3, data = c(1, 2, 3, 4, 5, 6)) A B <- matrix(3, 2, data = c(2, 1, -2, 0, 1, 9)) B AB <- A%*%B AB ## ----comment = NA------------------------------------------------------------- A <- matrix(nrow = 3, ncol = 3, data = c(4,3,2,1,-3,3,7,-8,2), byrow = T) A trace <- sum(diag(A)) trace ## ----comment = NA------------------------------------------------------------- A <- matrix(2,2, data = c(2,0,0,2), byrow = T) A det(A) ## ----comment = NA, eval = F--------------------------------------------------- # library(RConics) # A <- matrix(3,3, data = c(5,7,6,1,5,4,1,3,2), byrow = T) # A # adjoint(A) ## ----comment = NA------------------------------------------------------------- A <- matrix(2,2,data = c(3,-1,2,0)) solve(A) ## ----echo = F, eval = F------------------------------------------------------- # quadratic.eq <- function(a, b, c){ # sol1 <- (-b + sqrt(b^2-(4 * a * c)))/2 * a # sol2 <- (-b - sqrt(b^2-(4 * a * c)))/2 * a # res<-list() # res$solution1 <- sol1 # res$solution2 <- sol2 # res # } # # quadratic.eq(1, -2, -3) ## ----comment = NA------------------------------------------------------------- A <- matrix(2,2,data = c(1,-2,-2,1)) eigen(A) ## ----comment = NA------------------------------------------------------------- LH.eigen <- function(A){ eigen(t(A)) } LH.eigen(A) ## ----comment = NA, message = F, warning = F----------------------------------- library(igraph) G <- graph_from_literal(a --+ b --+ c) A <- as_adjacency_matrix(G, sparse = F) A ## ----comment = NA------------------------------------------------------------- A %*% A ## ----comment = NA------------------------------------------------------------- G1 <- G E(G1)$weight <- c(0.1, 0.2) ## ----comment = NA------------------------------------------------------------- E(G1) ## ----------------------------------------------------------------------------- weights <- c(0.1, 0.2) G2 <- set_edge_attr(G, "weight", value = as.numeric(weights)) attr <- "weight" ## ----comment = NA------------------------------------------------------------- as_adjacency_matrix(G2, attr = "weight", sparse = F) ## ----------------------------------------------------------------------------- alpha <- 1 ## ----comment = NA------------------------------------------------------------- G <- graph_from_literal(4 --+ 3 --+ 2 --+ 1) A <- as_adjacency_matrix(G, sparse = F) A ## ----comment = NA------------------------------------------------------------- alpha * t(A) ## ----comment = NA------------------------------------------------------------- I <- matrix(0,4,4); diag(I) <- 1 I - (alpha * t(A)) ## ----comment = NA------------------------------------------------------------- B <- I - (alpha * t(A)) solve(B) ## ----comment = NA------------------------------------------------------------- one <- matrix(4,1, data = rep(1,4)) solve(B) %*% one ## ----comment = NA------------------------------------------------------------- A <- as_adjacency_matrix(G, sparse = F) alpha <- 0.5 alpha * t(A) ## ----comment = NA------------------------------------------------------------- I <- matrix(0,4,4); diag(I) <- 1 B <- I - alpha * t(A) B ## ----comment = NA------------------------------------------------------------- solve(B) ## ----comment = NA------------------------------------------------------------- solve(B) %*% rep(1,4) ## ----------------------------------------------------------------------------- graph_A <- graph_from_literal(7 --+ 6 --+ 5 --+ 3, 4 --+ 3, 3--+ 2, 2--+ 1) graph_B <- graph_from_literal(7 --+ 6 --+ 5, 6 --+ 4, 5 --+ 3, 4 --+ 3, 3--+ 2, 2--+ 1) ## ----comment = NA------------------------------------------------------------- A_A <- as_adjacency_matrix(graph_A, sparse = F) A_A A_B <- as_adjacency_matrix(graph_B, sparse = F) A_B ## ----comment = NA------------------------------------------------------------- alpha <- 1 I <- matrix(0,7,7); diag(I) <- 1 I - (alpha * t(A_A)) I - (alpha * t(A_B)) ## ----comment = NA------------------------------------------------------------- B_A <- I - alpha * t(A_A) solve(B_A) B_B <- I - alpha * t(A_B) solve(B_B) ## ----comment = NA------------------------------------------------------------- solve(B_A) %*% rep(1, 7) solve(B_B) %*% rep(1, 7) ## ----comment = NA------------------------------------------------------------- alpha <- 0.5 I <- matrix(0,7,7); diag(I) <- 1 B_A <- I - (alpha * t(A_A)) B_B <- I - (alpha * t(A_B)) solve(B_A) solve(B_B) ## ----message = F, warning = F, comment = NA, echo = F------------------------- library(streamDAG) m0 <- graph_from_literal(2--+ 1) m1 <- graph_from_literal(3 --+ 2, 2--+ 1) m2 <- graph_from_literal(4 --+ 3, 5 --+ 3, 3--+ 2, 2--+ 1) m3 <- graph_from_literal(8 --+ 2, 7 --+ 6, 6 --+ 3, 4 --+ 3, 5 --+ 3, 3--+ 2, 2--+ 1) m4 <- graph_from_literal(8 --+ 6, 7 --+ 6, 6 --+ 3, 4 --+ 3, 5 --+ 3, 3--+ 2, 9-+2, 2--+ 1) m5 <- graph_from_literal(8 --+ 6, 7 --+ 6, 6 --+ 3, 4 --+ 3, 5 --+ 3, 3--+ 2, 9-+2, 10 --+ 1, 2--+ 1) m6 <- graph_from_literal(7 --+ 5, 7 --+ 6 --+ 3, 5 --+ 3, 4--+ 3, 3--+ 2, 2--+ 1) m7 <- graph_from_literal(8 --+ 7 --+ 5, 7 --+ 6 --+ 3, 5 --+ 3, 4--+ 3, 3--+ 2, 2--+ 1) #m5 <- graph_from_literal(7 --+ 6, 6 --+ 3, 4 --+ 3, 5 --+ 3, 3--+ 2, 2--+ 1) m8 <- graph_from_literal(9 --+ 8 --+ 7 --+ 5, 7 --+ 6 --+ 3, 5 --+ 3, 4--+ 3, 3--+ 2, 2--+ 1) dags <- list(m0, m1, m2, m3, m4, m5, m6, m7, m8) tailf <- function(x) tail(x, n = 1) dagcent1 <- sapply(dags, function(x) alpha.centrality(x, alpha = 1)) alpha.cent1 <- sapply(dagcent1, function(x)tail(x,1)) dagcent.5 <- sapply(dags, function(x) alpha.centrality(x, alpha = 0.5)) alpha.cent.5 <- sapply(dagcent.5, function(x)tail(x,1)) dagcent.75 <- sapply(dags, function(x) alpha.centrality(x, alpha = 0.75)) alpha.cent.75 <- sapply(dagcent.75, function(x)tail(x,1)) dagpath <- sapply(dags, function(x)local.summary(x, "n.paths")) npaths <- sapply(dagpath, function(x)tail(x,1)) dagorder <- sapply(dags, function(x)local.summary(x, "size.intact.in")) dorder <- sapply(dagorder, function(x)tail(x,1)) ## ----echo = F, message = F, warning = F, results = 'asis', eval = F----------- # library(xtable) # graph <- LETTERS[1:9] # tab <- xtable(data.frame(Graph = graph, A.cent.5 = alpha.cent.5, A.cent.75 = alpha.cent.75, A.cent1 = alpha.cent1, npath = npaths, order = dorder), caption = "Summary of outlet nodes (node 1) for DAGs in Fig \\ref{fig:f1}. Alpha centralities calculated using $\\alpha = 1$, $\\alpha = 0.75$, and $\\alpha = 0.5$. ", label = "tab:gams") # # names(tab) <- c("Graph", "Alpha-cent. $\\alpha = 0.5$", "Alpha-cent. $\\alpha = 0.75$", "Alpha-cent. $\\alpha = 1$", "Paths", "Graph Order") # # print(tab, include.rownames = FALSE, caption.placement = "top",table.placement = "h!") ## ----message = F, warning = F, comment = NA----------------------------------- G <- graph_from_literal(a --+ c, c --+ e, e --+ f, f --+ p, p --+ q, q --+ r, b --+ d, d --+ e, g --+ i, i --+ j, i --+ k, k --+ m, j --+ m, m --+ n, n--+ o, o --+ p, h --+ l, l --+ n) weight.matrix <- data.frame(matrix(ncol = 2, nrow = 18, data = c( "a->c", 0.2, "c->e", 0.2, "e->f", 0.2, "f->p", 0.5, "p->q", 0.7, "q->r", 0.9, "b->d", 0.1, "d->e", 0.3, "g->i", 0.2, "i->j", 0.1, "i->k", 0.6, "j->m", 0.5, "k->m", 0.5, "m->n", 0.4, "n->o", 0.3, "o->p", 0.2, "h->l", 0.1, "l->n", 0.3), byrow = T)) names(weight.matrix) <- c("Arc", "Weight") weight.matrix$"Weight" <- as.numeric(weight.matrix$"Weight") ## ----comment = NA------------------------------------------------------------- alpha <- 1 ## ----comment = NA------------------------------------------------------------- A <- as_adjacency_matrix(G, sparse = F) A ## ----comment = NA------------------------------------------------------------- W <- G weights <- weight.matrix[,2] W <- set_edge_attr(W, "weight", value = as.numeric(weights)) attr <- "weight" ## ----comment = NA------------------------------------------------------------- D <- as_adjacency_matrix(W, attr = attr, sparse = FALSE) D ## ----comment = NA------------------------------------------------------------- I <- matrix(0, nrow = nrow(D), ncol = ncol(D)); diag(I) <- 1 B <- I - alpha * t(D) ## ----comment = NA------------------------------------------------------------- solve(B) ## ----comment = NA------------------------------------------------------------- solve(B) %*% rep(1,nrow(D))