## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----inst, eval=FALSE--------------------------------------------------------- # # install.packages("devtools") # devtools::install_github("anespinosa/netmem") ## ----setup-------------------------------------------------------------------- library(netmem) ## ----------------------------------------------------------------------------- A <- matrix( c( 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0 ), byrow = TRUE, ncol = 14 ) ## ----------------------------------------------------------------------------- matrix_projection(A) ## ----------------------------------------------------------------------------- bonacich_norm(A) ## ----------------------------------------------------------------------------- minmax_overlap(A, row = TRUE, min = TRUE) minmax_overlap(A, row = FALSE, min = TRUE) co_occurrence(A, similarity = c("ochiai"), occurrence = TRUE, projection = FALSE) ## ----multilevel_example------------------------------------------------------- A1 <- matrix(c( 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0 ), byrow = TRUE, ncol = 5) B1 <- matrix(c( 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1 ), byrow = TRUE, ncol = 3) A2 <- matrix(c( 0, 1, 1, 1, 0, 0, 1, 0, 0 ), byrow = TRUE, nrow = 3) B2 <- matrix(c( 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1 ), byrow = TRUE, ncol = 4) A3 <- matrix(c( 0, 1, 3, 1, 1, 0, 0, 0, 3, 0, 0, 5, 1, 0, 5, 0 ), byrow = TRUE, ncol = 4) rownames(A1) <- letters[1:nrow(A1)] colnames(A1) <- rownames(A1) rownames(A2) <- letters[nrow(A1) + 1:nrow(A2)] colnames(A2) <- rownames(A2) rownames(B1) <- rownames(A1) colnames(B1) <- colnames(A2) rownames(A3) <- letters[nrow(A1) + nrow(A2) + 1:nrow(A3)] colnames(A3) <- rownames(A3) rownames(B2) <- rownames(A2) colnames(B2) <- colnames(A3) ## ----------------------------------------------------------------------------- matrix_report(A1) matrix_report(B1) matrix_report(A2) matrix_report(B2) matrix_report(A3) ## ----meta_matrix, message=FALSE----------------------------------------------- meta_matrix(A1, B1, A2, B2, A3) meta_matrix(A1, B1, A2, B2) library(igraph) plot(graph.adjacency(meta_matrix(A1, B1, A2, B2, A3), mode = c("directed"))) ## ----multilevel_example2------------------------------------------------------ matrices <- list(A1, B1, A2, B2) gen_density(matrices, multilayer = TRUE) ## ----multil, warning=FALSE---------------------------------------------------- multilevel_degree(A1, B1, A2, B2, complete = TRUE) ## ----multil2, warning=FALSE--------------------------------------------------- k_core(A1, B1, multilevel = TRUE) ## ----multil3------------------------------------------------------------------ mixed_census(A2, t(B1), B2, quad = TRUE) ## ----message=FALSE------------------------------------------------------------ library(igraph) m <- meta_matrix(A1, B1) g <- graph.adjacency(m, mode = c("undirected")) V(g)$type <- ifelse(V(g)$name %in% colnames(B1), TRUE, FALSE) plot(g, vertex.color = ifelse(V(g)$type == TRUE, "blue", "red")) two_mode_sam <- zone_sample(A1, B1, ego = TRUE) for (i in 1:ncol(B1)) { V(two_mode_sam[[i]])$color <- ifelse(V(two_mode_sam[[i]])$name %in% colnames(B1), "blue", "red") plot(as.undirected(two_mode_sam[[i]]), vertex.color = V(two_mode_sam[[i]])$color, main = names(two_mode_sam)[i]) } ## ----------------------------------------------------------------------------- set.seed(26091949) ind_rand_matrix(n = 30, m = 20, type = "probability", p = 0.2, multilevel = TRUE) ## ----------------------------------------------------------------------------- data("lazega_lawfirm") rownames(lazega_lawfirm$advice) <- as.character(1:ncol(lazega_lawfirm$advice)) colnames(lazega_lawfirm$advice) <- rownames(lazega_lawfirm$advice) colnames(lazega_lawfirm$friends) <- rownames(lazega_lawfirm$advice) rownames(lazega_lawfirm$friends) <- colnames(lazega_lawfirm$friends) ## ----------------------------------------------------------------------------- gen_density(list( lazega_lawfirm$cowork, lazega_lawfirm$advice, lazega_lawfirm$friends ), multilayer = TRUE) ## ----------------------------------------------------------------------------- jaccard(lazega_lawfirm$cowork, lazega_lawfirm$advice) jaccard(lazega_lawfirm$cowork, lazega_lawfirm$friends) jaccard(lazega_lawfirm$advice, lazega_lawfirm$friends) ## ----warning=FALSE------------------------------------------------------------ multiplex_census(lazega_lawfirm$advice, lazega_lawfirm$friends) ## ----------------------------------------------------------------------------- A <- matrix(c( 0, 1, 1, 1, 0, 1, 0, 0, 0 ), byrow = TRUE, ncol = 3) colnames(A) <- c("A", "C", "D") rownames(A) <- c("A", "C", "D") # complete list of actors label <- c("A", "B", "C", "D", "E") structural_na(A, label)