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 = T,
  node.position.method = lws.positions.sq,
  as.list = TRUE,
  ...
)

Arguments

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

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

Value

ENAset class object that can be further processed for analysis or plotting

Details

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

See also

Examples

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" ) )