Skip to contents

`edge.length.density.stiffness()` constructs stiffnesses for edge-only geodesic-MDS layouts. It turns positive edge lengths into spring stiffnesses normalized to mean one. The `"density"` method emphasizes edge lengths near the empirical edge-length density mode, and `mix` provides a continuation path from that density-weighted signal to uniform stiffness.

Usage

edge.length.density.stiffness(
  edge_weights,
  method = c("density", "uniform", "distance_power"),
  mix = 0,
  bandwidth = NULL,
  density_n = 512L,
  transform = c("identity", "sqrt", "log"),
  distance_power = 0,
  stiffness_floor = 0,
  stiffness_ceiling = Inf
)

Arguments

edge_weights

Positive numeric edge lengths.

method

Stiffness rule. `"density"` estimates an empirical density, `"uniform"` returns equal stiffnesses, and `"distance_power"` uses `(w / median(w))^distance_power`.

mix

Continuation parameter in `[0, 1]`. `0` uses the selected method; `1` returns uniform stiffness.

bandwidth

Optional bandwidth passed to `stats::density()`.

density_n

Number of evaluation points for `stats::density()`.

transform

Optional transformation of the raw density/power signal before mixing and normalization.

distance_power

Exponent for `method = "distance_power"`.

stiffness_floor, stiffness_ceiling

Optional clipping bounds applied before the final mean-one normalization.

Value

A list with `stiffness`, raw signal diagnostics, estimated mode, and clipping/normalization metadata.