interlayer_degree: Calculate Interlayer Degree for Nodes in Plant Trait...

View source: R/interlayer_degree.R

interlayer_degreeR Documentation

Calculate Interlayer Degree for Nodes in Plant Trait Multilayer Networks

Description

This function calculates the interlayer degree for each node in a Plant Trait Multilayer Network (PTMN). The interlayer degree represents the number of connections a node has to nodes in different layers, which is crucial for understanding cross-layer coordination and functional integration across plant organs.

Usage

interlayer_degree(data)

Arguments

data

A data frame containing multilayer network edge information with columns: node.from, layer.from, node.to, layer.to. This represents the extended edge list from a PTMN construction.

Details

In PTMNs, interlayer edges represent interactions between traits in different layers, illustrating the integration of multiple functional systems. Nodes with higher interlayer degrees indicate traits that are more integrated across plant organs or functional systems, suggesting coordinated adaptation mechanisms.

The function counts both incoming and outgoing interlayer connections for each node, as PTMNs are constructed as undirected networks reflecting the reciprocal nature of trait relationships in plants.

Value

A data frame with three columns:

node

Character. The name of the trait node

layer

Character. The layer (organ or functional system) containing the node

interlayer_degree

Numeric. The number of interlayer connections for each node

The results are ordered by interlayer degree 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_degree(graph)

## End(Not run)


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