interlayer_closeness: Calculate Interlayer Closeness for Plant Trait Multilayer...

View source: R/interlayer_closeness.R

interlayer_closenessR Documentation

Calculate Interlayer Closeness for Plant Trait Multilayer Network Nodes

Description

Computes the interlayer closeness (IC) for each node in a plant trait multilayer network (PTMN). Interlayer closeness measures how efficiently a node can reach nodes in other layers along the shortest possible path, serving as an indicator of its capacity for cross-layer information or resource transfers. Nodes with high IC can efficiently influence the entire multilayer network and play a central role in rapid, coordinated system-wide responses in dynamic environments, thus facilitating swift phenotypic adjustments.

Usage

interlayer_closeness(data)

Arguments

data

A data frame containing network edge information with required columns: node.from, layer.from, node.to, layer.to

Details

The interlayer closeness is calculated using the formula:

IC_i = \frac{n_{inter}^i}{\sum_{\beta \neq \alpha} \sum_{j \in \beta} d_{ij}}

where d_{ij} is the shortest path length from node v_i to node v_j in another layer and n_{inter}^i is the total number of reachable nodes in other layers.

This parameter is part of a comprehensive set of quantitative metrics for plant trait multilayer networks (PTMNs) that facilitate the effective identification of hub traits and key cross-layer functional modules. These metrics are essential for understanding the coordinated adaptation of plant traits across functional levels.

Value

A data frame with two columns:

node

Character vector of node names

interlayer_closeness

Numeric vector of interlayer closeness values, sorted in descending order

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_closeness(graph)

## End(Not run)


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