interlayer_clustering_coefficient: Calculate Interlayer Clustering Coefficient for Plant Trait...

View source: R/interlayer_clustering_coefficient.R

interlayer_clustering_coefficientR Documentation

Calculate Interlayer Clustering Coefficient for Plant Trait Multilayer Networks (PTMNs)

Description

This function calculates the interlayer clustering coefficient (ICC) for each node in a plant trait multilayer network. The ICC measures interconnection among a node's interlayer neighbors, indicating the node's capacity to form cooperative, cross-layer functional modules within the local network.

Usage

interlayer_clustering_coefficient(data)

Arguments

data

A data frame containing multilayer network edge information with required columns: node.from, layer.from, node.to, and layer.to. This is typically the output from the PTMN function.

Details

The interlayer clustering coefficient is defined as:

ICC_i = \frac{2E_i}{IK_i(IK_i - 1)}

where E_i is the number of actual edges among the node's interlayer neighbors and IK_i is the interlayer degree.

For nodes with an interlayer degree of zero or one, ICC is defined as zero. Nodes with high ICC act as "organizers" of highly integrated, cross-functional modules, enhancing system-level responsiveness and phenotypic coordination.

The function constructs PTMNs as undirected networks, reflecting the reciprocal nature of trait relationships in plants.

Value

A data frame with the following columns:

node

Character. The node identifier (trait name)

layer

Character. The layer identifier (functional category)

interlayer_degree

Numeric. Number of interlayer connections for the node

actual_connections

Numeric. Actual number of connections between interlayer neighbors

potential_connections

Numeric. Maximum possible connections between interlayer neighbors

interlayer_clustering_coefficient

Numeric. The ICC value calculated as actual_connections / potential_connections

The results are ordered by decreasing interlayer clustering coefficient values.

See Also

PTMN for constructing plant trait multilayer networks

Examples

## Not run: 
data(forest_invader_tree)
data(forest_invader_traits)
traits <- forest_invader_traits[, 6:73]
layers <- list(
  shoot_dynamics = c("LeafDuration", "LeafFall50", "LeafRate_max",
                     "Chl_shade50", "LAgain", "FallDuration",
                     "LeafOut", "Chl_sun50", "EmergeDuration",
                     "LeafTurnover"),
  leaf_structure = c("PA_leaf", "Mass_leaf", "Lifespan_leaf",
                     "Thick_leaf", "SLA", "Lobe", "LDMC",
                     "Stomate_size", "Stomate_index"),
  leaf_metabolism = c("J_max", "Vc_max", "Asat_area", "CC_mass",
                      "LSP", "AQY", "CC_area", "Rd_area",
                      "Asat_mass", "WUE", "Rd_mass", "PNUE"),
  leaf_chemistry = c("N_area", "Chl_area", "DNA", "Phenolics",
                     "Cellulose", "N_mass", "N_litter", "Chl_ab",
                     "Chl_mass", "N_res", "C_litter", "C_area",
                     "C_mass", "Ash", "Lignin", "Solubles",
                     "Decomp_leaf", "Hemi"),
  root = c("NPP_root", "SS_root", "SRL", "RTD", "RDMC",
           "NSC_root", "Decomp_root", "Starch_root",
           "C_root", "N_root", "Lignin_root"),
  stem = c("Latewood_diam", "Metaxylem_diam", "Earlywood_diam",
           "NSC_stem", "Vessel_freq", "SS_stem", "Cond_stem",
           "Starch_stem")
)
graph <- PTMN(traits, layers_list = layers, method = "pearson")
interlayer_clustering_coefficient(graph)

## End(Not run)


MultiTraits documentation built on March 22, 2026, 9:06 a.m.