Generates an ENA model by constructing a dimensional reduction of adjacency (co-occurrence) vectors in an ENA data object

```
ena.make.set(
enadata,
dimensions = 2,
norm.by = fun_sphere_norm,
rotation.by = ena.svd,
rotation.params = NULL,
rotation.set = NULL,
endpoints.only = TRUE,
center.align.to.origin = TRUE,
node.position.method = lws.positions.sq,
as.list = TRUE,
...
)
```

- enadata
`ENAdata`

that will be used to generate an ENA model- dimensions
The number of dimensions to include in the dimensional reduction

- norm.by
A function to be used to normalize adjacency (co-occurrence) vectors before computing the dimensional reduction, default: sphere_norm_c()

- rotation.by
A function to be used to compute the dimensional reduction, default: ena.svd()

- rotation.params
(optional) A character vector containing additional parameters for the function in rotation.by, if needed

- rotation.set
A previously-constructed ENARotationSet object to use for the dimensional reduction

- endpoints.only
A logical variable which determines whether to only show endpoints for trajectory models

- center.align.to.origin
A logical variable when TRUE (default) determines aligns both point center and centroid center to the origin

- node.position.method
A function to be used to determine node positions based on the dimensional reduction, default: lws.position.es()

- as.list
R6 objects will be deprecated, but if this is TRUE, the original R6 object will be returned, otherwise a list with class `ena.set`

- ...
additional parameters addressed in inner function

`ENAset`

class object that can be further processed for analysis or plotting

This function generates an ENAset object from an ENAdata object. Takes the adjacency (co-occurrence) vectors from enadata, computes a dimensional reduction (projection), and calculates node positions in the projected ENA space. Returns location of the units in the projected space, as well as locations for node positions, and normalized adjacency (co-occurrence) vectors to construct network graphs

```
data(RS.data)
codeNames = c('Data','Technical.Constraints','Performance.Parameters',
'Client.and.Consultant.Requests','Design.Reasoning','Collaboration');
accum = ena.accumulate.data(
units = RS.data[,c("UserName","Condition")],
conversation = RS.data[,c("Condition","GroupName")],
metadata = RS.data[,c("CONFIDENCE.Change","CONFIDENCE.Pre","CONFIDENCE.Post")],
codes = RS.data[,codeNames],
window.size.back = 4
)
set = ena.make.set(
enadata = accum
)
set.means.rotated = ena.make.set(
enadata = accum,
rotation.by = ena.rotate.by.mean,
rotation.params = list(
accum$meta.data$Condition=="FirstGame",
accum$meta.data$Condition=="SecondGame"
)
)
```