Skip to contents

Computes a dimensional reduction of points in an ENA set using Singular Value Decomposition (SVD).

Usage

ena.svd(enaset, params)

Arguments

enaset

An ENAset object containing the points to be reduced.

params

A list of parameters. Use params$as_object = TRUE to return an ENARotationSet object, or FALSE (default) to return a list.

Value

An ENARotationSet object or a list containing:

rotation

The rotation matrix from SVD

codes

The code names used for the matrix

node.positions

(Currently NULL) Node positions

eigenvalues

The eigenvalues (squared singular values) from SVD

Details

This function computes the SVD of the points in the ENA set and returns either an ENARotationSet object or a list with the rotation matrix, codes, node positions, and eigenvalues, depending on params$as_object.

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()
# SVD as list:
svd_result <- ena.svd(enaset, list(as_object = FALSE))
# SVD as ENARotationSet object:
svd_obj <- ena.svd(enaset, list(as_object = TRUE))