Skip to contents

The counterpart of [sphere_norm()] for `norm.by = fun_skip_sphere_norm`: instead of scaling each unit's network to length 1, every network is divided by the length of the longest one, so relative magnitudes across units are kept. Pass it as `normalize` to [model()] (or to `ona::model()`, which hands it on) to build a model without sphere normalization.

Usage

skip_sphere_norm(x, add.meta = TRUE)

Arguments

x

An `ena.set` object or a numeric matrix of connection counts.

add.meta

A logical value. If `TRUE` (the default), metadata from the `ena.set` is preserved and included in the output. This parameter is ignored if `x` is a matrix.

Value

If `x` is an `ena.set`, it returns the modified `ena.set` with a new `line.weights` matrix and an updated `centervec` in the `rotation` object. If `x` is a matrix, it returns a matrix of scaled line weights.

Examples

data(RS.data)

codes <- c("Data", "Technical.Constraints", "Performance.Parameters",
           "Client.and.Consultant.Requests", "Design.Reasoning",
           "Collaboration")
units <- c("Condition", "UserName")
horizon <- c("Condition", "GroupName")
enaset <- RS.data |>
  accumulate(units, codes, horizon) |>
  model(normalize = skip_sphere_norm)