diff --git a/DESCRIPTION b/DESCRIPTION index f72baa16..7fdda895 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -29,6 +29,7 @@ Imports: igraph, magrittr, network, + oaqc, purrr, RColorBrewer, readxl, diff --git a/NAMESPACE b/NAMESPACE index aa1648a6..edf13afc 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -132,6 +132,7 @@ export(node_components) export(node_constraint) export(node_degree) export(node_eigenvector) +export(node_quad_census) export(node_smallworld) export(node_tie_census) export(node_triad_census) @@ -240,6 +241,7 @@ importFrom(network,as.matrix.network.adjacency) importFrom(network,as.matrix.network.incidence) importFrom(network,as.network) importFrom(network,is.network) +importFrom(oaqc,oaqc) importFrom(purrr,map) importFrom(readxl,read_xlsx) importFrom(rlang,.data) diff --git a/R/census.R b/R/census.R index 358ee132..83da44d2 100644 --- a/R/census.R +++ b/R/census.R @@ -81,6 +81,32 @@ node_triad_census <- function(object){ out # This line says the function returns the output } +#' @rdname census +#' @importFrom oaqc oaqc +#' @examples +#' (quad_cen <- node_quad_census(southern_women)) +#' @export +node_quad_census <- function(object){ + graph <- object %>% as_tidygraph() %>% + activate(edges) %>% as.data.frame() + out <- oaqc::oaqc(graph)[[1]] + out <- out[-1,] + rownames(out) <- node_names(object) + colnames(out) <- c("E4", # co-K4 + "I41","I40", # co-diamond + "H4", # co-C4 + "L42","L41","L40", # co-paw + "D42","D40", # co-claw + "U42","U41", # P4 + "Y43","Y41", # claw + "P43","P42","P41", # paw + "04", # C4 + "Z42","Z43", # diamond + "X4") # K4 + if(is_twomode(object)) out <- out[,-c(8,9,14,15,16,18,19,20)] + out +} + #' @rdname census #' @examples #' group_tie_census(task_eg, cutree(cluster_structural_equivalence(task_eg), 4)) diff --git a/man/census.Rd b/man/census.Rd index 936f528d..5cc061cb 100644 --- a/man/census.Rd +++ b/man/census.Rd @@ -4,6 +4,7 @@ \alias{census} \alias{node_tie_census} \alias{node_triad_census} +\alias{node_quad_census} \alias{group_tie_census} \alias{group_triad_census} \title{Census by nodes or clusters} @@ -12,6 +13,8 @@ node_tie_census(object) node_triad_census(object) +node_quad_census(object) + group_tie_census(object, clusters, decimals = 2) group_triad_census(object, clusters, decimals = 2) @@ -34,6 +37,7 @@ the profiles of clusters of nodes in a network. task_eg <- to_named(to_uniplex(ison_m182, "task_tie")) (tie_cen <- node_tie_census(task_eg)) (triad_cen <- node_triad_census(task_eg)) +(quad_cen <- node_quad_census(southern_women)) group_tie_census(task_eg, cutree(cluster_structural_equivalence(task_eg), 4)) group_triad_census(task_eg, cutree(cluster_regular_equivalence(task_eg), 4)) }