Skip to contents

A post-fit display transform: in the plane of two dimensions, pushes every node out along its own ray to the length of the longest node there, then recomputes the centroids for the moved nodes. Nothing is refit.

Usage

move_nodes_to_unit_circle(
  set,
  dimension_name_1 = colnames(as.matrix(set$rotation$nodes))[1],
  dimension_name_2 = colnames(as.matrix(set$rotation$nodes))[2]
)

Arguments

set

An ena.set, e.g. from model or ena.make.set.

dimension_name_1

Name of the plane's x dimension (a column of set$rotation$nodes). Defaults to the first dimension.

dimension_name_2

Name of the plane's y dimension. Defaults to the second dimension.

Value

set, with set$rotation$nodes moved on the two dimensions and set$model$centroids recomputed.

Details

Nodes of length zero in the plane are left where they are, as are the nodes' other dimensions. Unit points never change. The centroids, all dimensions of them, are the model's node weights times the moved nodes: each unit's line weights split between the codes they connect (half to each code for unordered networks; for ordered ones, as the fit weights them) and normalised to sum to 1, the weighting the fit's own centroids use. So the goodness of fit (ena.correlations) reflects the moved nodes.

Works for unordered and ordered (accumulate(ordered = TRUE)) sets.

See also

move_nodes_to_unit_circle_with_equal_space, which also spaces the nodes equally around the circle.

Examples

data(RS.data)
codes <- c("Data", "Technical.Constraints", "Performance.Parameters",
           "Client.and.Consultant.Requests", "Design.Reasoning",
           "Collaboration")
set <- RS.data |>
  accumulate(c("Condition", "UserName"), codes, c("Condition", "GroupName")) |>
  model()
circled <- move_nodes_to_unit_circle(set)
circled$rotation$nodes
#>                              code            GMR1            SVD2
#>                    <ena.metadata> <ena.dimension> <ena.dimension>
#> 1:                           Data      -1.2288590       2.2507655
#> 2:          Technical.Constraints       2.5282696       0.4288275
#> 3:         Performance.Parameters      -1.9625687       1.6505647
#> 4: Client.and.Consultant.Requests       2.3562894      -1.0118994
#> 5:               Design.Reasoning      -0.7387656      -2.4556599
#> 6:                  Collaboration       2.3739906       0.9696434
#>               SVD3            SVD4            SVD5            SVD6
#>    <ena.dimension> <ena.dimension> <ena.dimension> <ena.dimension>
#> 1:       1.2807440       1.1640657      -0.2029861      -1.0705435
#> 2:       0.4206256      -0.2257657       0.5907393       0.8756449
#> 3:      -1.9294636      -1.2042659      -0.1085039       0.8685388
#> 4:      -1.2335528       2.5802575      -0.4803029       0.0172686
#> 5:       0.6321945      -0.1218005      -0.4144112      -0.2435283
#> 6:      -1.2028630      -0.6075374       0.9781716      -2.2400848
#>               SVD7            SVD8            SVD9           SVD10
#>    <ena.dimension> <ena.dimension> <ena.dimension> <ena.dimension>
#> 1:       0.1646893      0.04657726      -0.3767116      0.01817665
#> 2:      -0.5148106      0.05936838       0.4915882     -0.18065112
#> 3:       0.1188862      0.07209038       0.1198674      0.14974249
#> 4:      -0.8552341      0.43325316       0.2561674     -0.16171048
#> 5:       0.2518516     -0.16308794      -0.2388267      0.04348831
#> 6:       0.8834779     -0.40519726      -0.3698339      0.10555547
#>              SVD11           SVD12           SVD13           SVD14
#>    <ena.dimension> <ena.dimension> <ena.dimension> <ena.dimension>
#> 1:      0.20318987     -0.14582546     -0.05718423     -0.17749422
#> 2:     -0.20853657      0.10247404      0.06380652      0.25275220
#> 3:     -0.04843653      0.10359794      0.02537574      0.03122439
#> 4:      0.10364731     -0.11645697      0.03713176      0.02792928
#> 5:      0.05893082     -0.07362241     -0.03282032     -0.11548123
#> 6:     -0.03357836      0.15763841     -0.04942987     -0.06425475
#>              SVD15
#>    <ena.dimension>
#> 1:     0.002258103
#> 2:     0.024996104
#> 3:    -0.008222128
#> 4:     0.039426150
#> 5:    -0.031753530
#> 6:     0.023451595